mysql 地理位置从近到远查询排序
创建时间:2022-08-26 15:17:39
栏目: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公里的数据,且按距离从近到远