Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

php mysql so sánh độ dài và vĩ độ, trả về những cái dưới 10 dặm

Bạn có thể không cần làm điều này trong mã, bạn có thể làm tất cả trong DB. nếu bạn sử dụng chỉ mục không gian . Tài liệu MySQL cho chỉ mục không gian

CHỈNH SỬA để phản ánh chỉnh sửa của bạn:

Tôi nghĩ bạn muốn một cái gì đó như thế này:

SELECT *, ((ACOS(SIN($lat * PI() / 180) * SIN(lat * PI() / 180) + COS($lat * PI() / 180) * COS(lat * PI() / 180) * COS(($lon - lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM locations HAVING distance<='10' ORDER BY distance ASC

VIA:http://www.zcentric.com/blog/2007/03 /calculate_distance_in_mysql_wi.html :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thêm một giá trị cột bổ sung với INSERT ... SELECT trong MySQL

  2. Tính toán sự khác biệt giữa hai lịch ngày trong MySQL

  3. Lấy dữ liệu từ nhiều bảng thành một hàng trong khi nối một số giá trị

  4. Nhận id của bản ghi được chèn gần đây nhất trong mybatis

  5. cách sử dụng mysql_data_seek với PDO?