sql >> Databasteknik >  >> RDS >> Mysql

php mysql jämför långa och lat, returer under 10 miles

Du behöver förmodligen inte göra detta i kod, du kan förmodligen göra allt detta i DB. om du använder ett spatialt index . MySQL-dokumentation för rumsligt index

REDIGERA för att återspegla din redigering:

Jag tror att du vill ha något sånt här:

SELECT *, ((ACOS(SIN($lat * PI() / 180) * SIN(lat * PI() / 180) + COS($lat * PI() / 180) * COS(lat * PI() / 180) * COS(($lon - lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM locations HAVING distance<='10' ORDER BY distance ASC

VIA:http://www.zcentric.com/blog/2007/03 /calculate_distance_in_mysql_wi.html :



  1. När ska jag använda UNSIGNED och SIGNED INT i MySQL?

  2. När DRY-principen inte gäller:BITWISE-operationer i SQL Server

  3. mysql SQL:specifik objekt ska vara först och sedan sortera resten av objekten

  4. Ändra ett SQL Server Agent Schema (T-SQL)