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ę