Você deve olhar para a fórmula de Haversine. Por favor veja abaixo:
SELECT id, (3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance;
Isso retornará todos os registros que estiverem dentro de 25 milhas do par long/lat de entrada.