mysql 地理位置从近到远查询排序
·
表设计:
create table geo(
id int primary key auto_increment,
lat float,
lng float
);查询语句:
SELECT id,
(
6371 * acos(
cos(radians(32))
* cos( radians( lat ) )
* cos(radians( lng ) - radians(121))
+
sin( radians(32) )
* sin( radians( lat ) )
)
)
AS distance
FROM geo HAVING distance < 100 ORDER BY distance LIMIT 0 , 20;这条就是查到北纬32度,东经121度小于100公里的数据,且按距离从近到远更多推荐
所有评论(0)