Skip to content

Instantly share code, notes, and snippets.

@mfcodeworks
Last active August 10, 2019 14:00
Show Gist options
  • Save mfcodeworks/29cdae9876f4c3d4cbe9b88e655b8651 to your computer and use it in GitHub Desktop.
Save mfcodeworks/29cdae9876f4c3d4cbe9b88e655b8651 to your computer and use it in GitHub Desktop.
SELECT id, address, datetime, price, ROUND(6371 * acos(cos(radians(1.329380)) * cos(radians(event_lat)) * cos(radians(event_lng) - radians(103.775595)) + sin(radians(1.329380)) * sin(radians(event_lat))), 3) as distance
FROM jobs
WHERE (6371 * acos(cos(radians(1.329380)) * cos(radians(event_lat)) * cos(radians(event_lng) - radians(103.775595)) + sin(radians(1.329380)) * sin(radians(event_lat)))) < 50
ORDER BY distance DESC;
@mfcodeworks
Copy link
Author

Select details and haversine formula in kilometres rounded to nearest metre, from jobs table, where the radius given by haversine is less than 50km, sort by distance descending

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment