Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobieranie podobnej długości i szerokości geograficznej z bazy danych

Powinieneś zajrzeć do formuły Haversine. Zobacz poniżej:

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;

Spowoduje to zwrócenie wszystkich rekordów znajdujących się w promieniu 25 mil od wejściowej pary długość/długość.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL Zrzuć tylko niektóre wiersze

  2. Lista SELECT nie znajduje się w klauzuli GROUP BY i zawiera niezagregowaną kolumnę .... niezgodna z sql_mode=only_full_group_by

  3. MySQL - aktualizowanie wszystkich rekordów w celu dopasowania maksymalnej wartości w grupie

  4. PostgreSQL vs MySQL, porównanie

  5. Jak w MySQL zwrócić tydzień miesiąca?