Calcular a distância entre duas coordenadas não é tão difícil, dada a fórmula de Haversine.
SELECT
-- stuff here
, ( 6371000 * acos( cos( radians(45.815005) ) * cos( radians( stuff.lat ) ) * cos( radians( stuff.lng ) - radians(15.978501) ) + sin( radians(45.815005) ) * sin(radians(stuff.lat)) ) ) AS distance
FROM
stuff
HAVING
distance < 500
Resposta referenciada
Mudanças necessárias da resposta original:
-
A constante oferecida na resposta original fornecia os valores para milhas ou quilômetros. Eu mudei a constante aqui para trabalhar com medidores.
-
As constantes foram alteradas para usar suas coordenadas. Você pode querer adaptar a consulta um pouco mais para criar esses parâmetros em vez de constantes.
-
Ohaving
expressão mudou um pouco para refletir seu desejo de 500 metros. Novamente, isso pode ser algo que você deseja parametrizar.