Mysql
 sql >> база данни >  >> RDS >> Mysql

Вземете резултати от mysql въз основа на географска ширина и дължина

Можете да изчислите разстояние, като използвате сферичен закон за косинуси :

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) - градуси в радиани
ACOS(X ) - косинус на дъгата на X, тоест стойността, чийто косинус е X
DEGREES(X) - радиани в градуси

60 - минути в градус
1,1515 - мили в морска миля
1,609344 - километра в миля




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Сравняване на Oracle MySQL, Percona Server и MariaDB

  2. Какъв е най-добрият начин за управление на дати в PHP, MySQL и т.н.?

  3. Какво е схема на база данни?

  4. Изберете няколко таблици, когато една таблица е празна в MySQL

  5. Mysql 1050 Таблица за грешки вече съществува, но всъщност не съществува