Du kan beräkna ett avstånd med en sfärisk lag för cosinus :
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)
- grader till radianer
ACOS(X )
- bågcosinus för X, det vill säga värdet vars cosinus är X
GRADER(X)
- radianer till grader
60 - minuter i en grad
1,1515 - miles i en nautisk mil
1,609344 - kilometer på en mil