sql >> Databáze >  >> RDS >> Mysql

Získejte výsledky z mysql na základě zeměpisné šířky a délky

Vzdálenost můžete vypočítat pomocí sférického zákona kosinů :

SELECT DEGREES(ACOS(SIN(RADIANS(clients.latitude)) * SIN(RADIANS(schools.latitude)) + 
                    COS(RADIANS(clients.latitude)) * COS(RADIANS(schools.latitude)) 
                                                   * COS(RADIANS(clients.longitude 
                                                               – schools.longitude)))) 
       * 60 * 1.1515 * 1.609344 AS distance
FROM clients, schools HAVING distance < $radius

RADIANS(X) - stupně k radiánům
ACOS(X ) - úhlový kosinus X, tedy hodnota, jejíž kosinus je X
STUPNĚ(X) - radiány na stupně

60 – minut ve stupni
1,1515 – míle na námořní míli
1,609344 – kilometr v míli




  1. Spusťte PDO s polem obsahujícím hodnoty null

  2. Amazon RDS nemůže provést příkaz SET GLOBAL

  3. Jak mohu změnit omezení primárního klíče pomocí syntaxe SQL?

  4. Změňte název uložené procedury MySQL 'Database Collation'