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

Nhận kết quả từ mysql dựa trên kinh độ vĩ độ

Bạn có thể tính khoảng cách bằng cách sử dụng Luật hình cầu của cosin :

SELECT DEGREES(ACOS(SIN(RADIANS(clients.latitude)) * SIN(RADIANS(schools.latitude)) + 
                    COS(RADIANS(clients.latitude)) * COS(RADIANS(schools.latitude)) 
                                                   * COS(RADIANS(clients.longitude 
                                                               – schools.longitude)))) 
       * 60 * 1.1515 * 1.609344 AS distance
FROM clients, schools HAVING distance < $radius

RADIANS (X) - độ sang radian
ACOS (X ) - cosin cung của X, nghĩa là giá trị có cosin là X
DEGREES (X) - radian sang độ

60 - phút ở độ
1,1515 - dặm trong hải lý
1.609344 - ki lô mét trong một dặm




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể kết nối với cơ sở dữ liệu mysql [strato]

  2. đối số được phân tách bằng dấu phẩy cho toán tử IN, MySQL

  3. Cân bằng tải với ProxySQL cho Percona XtraDB Cluster

  4. Có cách nào để duy trì mối quan hệ db (pk / fk) trong trường hợp sau không

  5. Symfony3 cách lưu trữ vai trò người dùng trong cơ sở dữ liệu