Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uzyskaj wyniki z mysql na podstawie szerokości geograficznej i długości geograficznej

Możesz obliczyć odległość za pomocą Sferyczne prawo cosinusów :

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

RADIANY(X) - stopnie do radianów
ACOS(X ) - arcus cosinus X, czyli wartość, której cosinus to X
STOPNIE(X) - radiany do stopni

60 – minuty na stopień
1,1515 – mile na mile morskiej
1,609344 - kilometry na milę




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Importowanie wielu plików csv do tabel mysql

  2. Jak przyciąć pierwsze trzy znaki na podstawie pierwszej litery (wyrażenia) przed wstawieniem do bazy danych

  3. Jak uzyskać wartości pojedynczej kolumny za pomocą MySQLi?

  4. InnoDB mySQL nie może ustawić ON DELETE SET DEFAULT'. Jak ustawić?

  5. Błąd ogólny:1005 Nie można utworzyć tabeli przy użyciu kompilacji schematu Laravel i kluczy obcych