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

PHP Sortering af nærmeste koordinater

Brug af Googles algoritme:

$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 og longitude i denne forespørgsel vil dine lat/lon kolonnenavne være.



  1. Sådan viser du nulværdier, når du kører forespørgsler i psql (PostgreSQL)

  2. PostgreSQL Upsert differentiere indsatte og opdaterede rækker ved hjælp af systemkolonner XMIN, XMAX og andre

  3. Opdel flere SQL-sætninger i individuelle SQL-sætninger

  4. Sådan får du optegnelser fra sidste 7 dage i MySQL