sql >> Database >  >> RDS >> Mysql

php mysql vergelijk long en lat, retourneer degenen onder de 10 mijl

U hoeft dit waarschijnlijk niet in code te doen, u kunt dit waarschijnlijk allemaal in de DB doen. als u een ruimtelijke index gebruikt . MySQL-documentatie voor ruimtelijke index

BEWERKEN om uw bewerking weer te geven:

Ik denk dat je zoiets als dit wilt:

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. ORA-00904 ongeldige identifier op decodeer alias

  2. Hoe de inhoud van een tabel te bekijken in de Mysql Workbench GUI?

  3. Driver.getConnection loopt vast bij gebruik van SQLServer-stuurprogramma en Java 1.6.0_29

  4. Waarden selecteren die aan verschillende voorwaarden voldoen op verschillende rijen?