MySQL之根据经纬度查询多少公里范围内的数据_Wednesday-CSDN博客_mysql 根据经纬度查询范围
根据经纬度查询多少公里范围内的数据
可根据实际业务逻辑去套用该方法
创建地址表,存储经纬度信息
//创建地址表,存储位置信息
CREATE TABLE `address` (
`longitude` varchar(255) DEFAULT NULL COMMENT '经度',
`latitude` varchar(255) DEFAULT NULL COMMENT '纬度'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
根据当前经纬度查询所有地址,按距离由近到远排序
SELECT *,
(
6371 * acos (
cos ( radians('30.4138') )
* cos( radians(latitude) )
* cos( radians(longitude) - radians('104.234') )
+ sin ( radians('30.4138') )
* sin( radians(latitude) )
)
) AS distance
FROM address
GROUP BY distance
查询结果(距离以km为单位)