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

Геокодер на Google Maps за намиране на близки места от базата данни на MySQL

търсене в радиус:

select *,
    acos(cos(centerLat * (PI()/180)) *
     cos(centerLon * (PI()/180)) *
     cos(lat * (PI()/180)) *
     cos(lon * (PI()/180))
     +
     cos(centerLat * (PI()/180)) *
     sin(centerLon * (PI()/180)) *
     cos(lat * (PI()/180)) *
     sin(lon * (PI()/180))
     +
     sin(centerLat * (PI()/180)) *
     sin(lat * (PI()/180))
    ) * 3959 as Dist
from TABLE_NAME
having Dist < radius
order by Dist

3959 е радиусът на Земята в мили. Заменете тази стойност с радиус в KM или която и да е единица, за да получите резултати за същата единица.centerLat иcenterLon са центърът на търсенето (вашото въвеждане), докато lat и lon са полета в таблицата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на всяка стойност на DISTINCT поле само веднъж с помощта на цикъл

  2. Добре ли е да използвате htmlspecialchars() преди вмъкване в MySQL?

  3. Python и MySQL заявка с кавички

  4. как да изберете всички данни, чийто входен масив е намерен и не е намерен в mysql

  5. Периоди от време на MySQL заявка и стойност на максималния спад спрямо предходната максимална стойност