0、相关文章:
用一句 Mysql 语句,根据经纬度,计算5公里范围内的数据(文章一:阅读量1k)
mysql经纬度 某半径长度 内查询数据(阅读量1k)
Mysql实现根据经纬度坐标查询周围区域范围内的所有坐标,并按距离进行排序(阅读量1k)
1、根据文章一:
select ROUND(6378.138*2*ASIN(SQRT(POW(SIN(($latitude*PI()/180-latitude*PI()/180)/2),2) +
COS($latitude*PI()/180)*COS(latitude*PI()/180)*
POW(SIN(($longitude*PI()/180 - longitude*PI()/180)/2),2)
)
)*1000)
AS distance FROM shop having distance <= 5000 order by distance asc
说明:6378.138这个是地球的直径,单位千米.latitude是用户位置的纬度,latitude是用户位置的纬度,longitude是用户位置经度.latitude 为商户