Calcolare la distanza tra due coordinate non è poi così difficile data la formula 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
Modifiche necessarie rispetto alla risposta originale:
-
La costante offerta nella risposta originale forniva i valori per miglia o chilometri. Ho cambiato la costante qui per lavorare con i contatori.
-
Le costanti sono cambiate per usare le tue coordinate. Potresti voler adattare ulteriormente la query per rendere quei parametri anziché costanti.
-
Il
having
l'espressione è leggermente cambiata per riflettere la tua voglia di 500 metri. Anche in questo caso, potrebbe essere qualcosa che vuoi parametrizzare.