sql >> Databasteknik >  >> RDS >> Mysql

PHP Sortering av närmaste koordinater

Använder Googles algoritm:

$lon = //your longitude
$lat = //your latitude
$miles = //your search radius

$query = "SELECT *, 
( 3959 * acos( cos( radians('$lat') ) * 
cos( radians( latitude ) ) * 
cos( radians( longitude ) - 
radians('$lon') ) + 
sin( radians('$lat') ) * 
sin( radians( latitude ) ) ) ) 
AS distance FROM yourtable HAVING distance < '$miles' ORDER BY distance ASC LIMIT 0, 5"

latitude och longitude i den här frågan kommer dina lat/lon-kolumnnamn.



  1. MySQL distinktion mellan e och é (e akut) - UNIKT index

  2. Vad är det med (nolock) i SQL Server?

  3. Hur konverterar jag en äldre vänster yttre kopplingssats i Oracle?

  4. mysql-fråga:SELECT DISTINCT column1, GROUP BY column2