目前正在使用:如何基于距离特定纬度/经度来查询Amazon Redshift表中的用户IDS列表?
SELECT
uid,lat,long,
(
6371 *
acos(
cos(radians(value)) *
cos(radians(lat)) *
cos(
radians(long) - radians(value)
) +
sin(radians(value)) *
sin(radians(lat))
)
) as distance
FROM
table name
WHERE
lat IS NOT Null AND long IS NOT Null
HAVING
distance < 25
ORDER BY
distance
LIMIT
25;
@Serg美丽的编辑,我从来没有见过半正矢/大圆不看起来很丑。 –
@TimBiegeleisen应归于OP。我刚加了一个ident,ctl/K。 Upvoting为美丽的acos。 – Serg
@TimBiegeleisen我喜欢为此使用UDF! https://stackoverflow.com/questions/30259410/query-to-calculate-sum-of-distance-longitude-latitude-in-consecutive-rows-in – Strawberry