Ответ 1
Вы можете рассчитать расстояние, используя Сферический закон косинусов:
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) - градусы к радианам
ACOS (X) - дуговой косинус X, то есть значение, косинус которого равен X
DEGREES (X) - радианы до градусов
60 - минут в градусе
1.1515 миль в морская миля
1.609344 - километров в миле