Att beräkna avståndet mellan två koordinater är faktiskt inte så svårt med tanke på haversinformeln.
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
Nödvändiga ändringar från det ursprungliga svaret:
-
Den konstant som erbjuds i det ursprungliga svaret gav värdena för miles eller kilometer. Jag har ändrat konstanten här till att fungera med mätare.
-
Konstanterna har ändrats för att använda dina koordinater. Du kanske vill anpassa frågan lite längre för att göra dessa parametrar istället för konstanter.
-
having
uttrycket ändrades lite för att spegla din önskan om 500 meter. Återigen, detta kan vara något du vill parametrera.