sql >> Databáze >  >> RDS >> Mysql

Geokodér Map Google pro vyhledání míst v okolí z databáze MySQL

rádius search:

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 je poloměr Země v mílích. Nahraďte tuto hodnotu poloměrem v KM nebo jakoukoli jednotkou, abyste získali výsledky pro stejnou jednotku.centrální šířka a centrumLon jsou středem hledání (váš vstup), zatímco lat a lon jsou pole v tabulce.



  1. Získávání chyby:Autentizace peer selhala pro uživatele postgres, když se pokouší zprovoznit pgsql s rails

  2. Zpracování nulového data MySQL pomocí EF Core

  3. Jak nainstalovat SQL Server

  4. Jak naložím s remízou při hodnocení výsledků v MySQL?