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

MySQL Great Circle Khoảng cách (công thức Haversine)

Từ Câu hỏi thường gặp về mã Google - Tạo Công cụ định vị cửa hàng với PHP, MySQL và Google Maps :

Đây là câu lệnh SQL sẽ tìm 20 vị trí gần nhất nằm trong bán kính 25 dặm tính đến tọa độ 37, -122. Nó tính toán khoảng cách dựa trên vĩ độ / kinh độ của hàng đó và vĩ độ / kinh độ mục tiêu, sau đó chỉ yêu cầu các hàng có giá trị khoảng cách nhỏ hơn 25, sắp xếp toàn bộ truy vấn theo khoảng cách và giới hạn ở 20 kết quả. Để tìm kiếm theo ki lô mét thay vì dặm, hãy thay thế 3959 bằng 6371.

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) 
* cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin(radians(lat)) ) ) AS distance 
FROM markers 
HAVING distance < 25 
ORDER BY distance 
LIMIT 0 , 20;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi nghiêm trọng:Gọi đến hàm không xác định mysql_connect ()

  2. Cách tạo cơ sở dữ liệu từ tập lệnh trong MySQL

  3. Ví dụ về MAKETIME () - MySQL

  4. PDO câu lệnh chuẩn bị tìm nạp () trả về kết quả kép

  5. Ví dụ ORD () - MySQL