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

MySQL Great Circle Distance (wzór Haversine)

Od Często zadawane pytania dotyczące kodu Google — tworzenie Lokalizator sklepów z PHP, MySQL i Google Maps :

Oto instrukcja SQL, która znajdzie najbliższe 20 lokalizacji, które znajdują się w promieniu 25 mil od współrzędnej 37, -122. Oblicza odległość na podstawie szerokości/długości geograficznej tego wiersza i docelowej szerokości/długości geograficznej, a następnie pyta tylko o wiersze, w których wartość odległości jest mniejsza niż 25, porządkuje całe zapytanie według odległości i ogranicza je do 20 wyników. Aby wyszukiwać według kilometrów zamiast mil, zamień 3959 na 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. Jak wyświetlić wszystkie klucze obce do tabeli lub kolumny?

  2. Jak używać zmiennej zdefiniowanej przez użytkownika MySql w .NET MySqlCommand?

  3. Polecenia INSERT lub REPLACE MySQL

  4. Jak ustawić wartość początkową i automatyczny przyrost w MySQL?

  5. AVG() – Oblicz średnią wartość kolumny w MySQL