sql >> Database >  >> RDS >> Mysql

MySQL Great Circle Distance (Haversine-formule)

Van Veelgestelde vragen over Google Code - Een Winkelzoeker met PHP, MySQL en Google Maps :

Hier is de SQL-instructie die de dichtstbijzijnde 20 locaties zal vinden die zich binnen een straal van 25 mijl van de 37, -122 coördinaat bevinden. Het berekent de afstand op basis van de breedtegraad/lengtegraad van die rij en de beoogde breedtegraad/lengtegraad, en vraagt ​​dan alleen naar rijen waar de afstandswaarde kleiner is dan 25, rangschikt de hele zoekopdracht op afstand en beperkt deze tot 20 resultaten. Om te zoeken op kilometers in plaats van mijlen, vervangt u 3959 door 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. Converteer Unixtime naar Datetime SQL (Oracle)

  2. Android-setPeriodic voor JobScheduler werkt niet

  3. Plannen van schijfruimte voor databases

  4. Verleen MySQL-tabel- en kolommachtigingen