【发布时间】:2012-03-16 06:07:13
【问题描述】:
我正在使用以下 sql 代码来找出最接近设置坐标的“所有”poi,但我想找出特定的 poi 而不是全部。当我尝试使用 where 子句时,我得到一个错误并且它不起作用,这就是我目前卡住的地方,因为我只使用一个表来表示所有 poi 的所有坐标。
SET @orig_lat=55.4058;
SET @orig_lon=13.7907;
SET @dist=10;
SELECT
*,
3956 * 2 * ASIN(SQRT(POWER(SIN((@orig_lat -abs(latitude)) * pi()/180 / 2), 2)
+ COS(@orig_lat * pi()/180 ) * COS(abs(latitude) * pi()/180)
* POWER(SIN((@orig_lon - longitude) * pi()/180 / 2), 2) )) as distance
FROM geo_kulplex.sweden_bobo
HAVING distance < @dist
ORDER BY distance limit 10;
【问题讨论】:
-
不工作怎么办?您可以在问题中粘贴错误消息吗?
-
为了优化此类查询的速度/性能,请阅读这篇文章:stackoverflow.com/a/5749614/43959
标签: mysql sql gps geometry geo