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

MySQL Great Circle Distance (формула на Haversine)

От ЧЗВ на Google Code – Създаване на Локатор на магазини с PHP, MySQL и Google Maps :

Ето SQL изявлението, което ще намери най-близките 20 местоположения, които са в радиус от 25 мили до координатата 37, -122. Той изчислява разстоянието въз основа на географската ширина/дължина на този ред и целевата ширина/дължина и след това пита само за редове, където стойността на разстоянието е по-малка от 25, подрежда цялата заявка по разстояние и я ограничава до 20 резултата. За да търсите по километри вместо по мили, заменете 3959 с 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. CURTIME() Примери – MySQL

  2. Сума стойностите на многомерния масив по ключ без цикъл

  3. Каква е разликата между MySQL, MySQLi и PDO?

  4. mySQL - Създайте нова таблица, използвайки данни и колони от три таблици

  5. MySQL Неправилна стойност за дата и час:'0000-00-00 00:00:00'