sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag fråga i mysql-table (där lat och long lagras) det som ligger närmast den inmatade platsen (lat och long)?

Jag skulle föreslå att du begränsar din plats med några villkor som kan indexeras. Du kan göra det enkelt eftersom du förmodligen inte vill lista någon från USA till någon i Paris som närmaste plats.

Med bara lite modifiering på RustamIS-frågan kan du eliminera det mesta av de irrelevanta platserna.

select * from gps_location_table t 
where
    t.x between 20.134554 and 20.334554 and t.y between 56.11455255 and 56.31455255
order by 
    sqrt((t.x - 20.234554)*(t.x - 20.234554) + (t.y - 56.21455255)*(t.y - 56.21455255)
desc

Så du definierade en rektangel där du vill leta efter de närmaste personerna.



  1. Hur man infogar moment JS-tid i MySQL

  2. Hur man importerar data från textfil till mysql-databas

  3. att hämta data från två tabeller i mysql, join skulle inte fungera här

  4. Kapslad Set Model Php-bibliotek