sql >> Database teknologi >  >> RDS >> Mysql

Google Maps geokoder til at finde nærliggende steder fra MySQL-databasen

radiussøgning:

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 er Jordens radius i Miles. Erstat denne værdi med radius i KM eller en hvilken som helst enhed for at få resultater på den samme enhed.centerLat og centerLon er midten af ​​søgningen (dit input), mens lat og lon er felter i tabellen.



  1. Bestil først efter specifik feltværdi

  2. Sådan indsætter du flere rækker fra et tekstområde i MySQL

  3. Håndteringsdato i SQL Server

  4. migrering fra postgres til mysql forårsager mærkelige fejl Mysql2::Fejl:MySQL-serveren er gået væk