mysql经纬度 某半径长度 内查询数据

本文介绍了如何使用MySQL查询基于经纬度坐标5公里范围内的数据,并按照距离进行升序排序。涉及到的函数包括ROUND、ASIN、SQRT、POW以及ORDER BY ... ASC。文章提供了相关函数的解释链接和示例代码,但注意代码可能不适用于SQLite环境,且未在MySQL中验证。
摘要由CSDN通过智能技术生成

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 为商户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值