mysql根据当前定位经纬度排序
2020-04-02 18:46
585 查看
网上流行的大概有两种sql写法,发现两种计算的结果不一样,也就是有一种不是很准确,试了下百度在线api计算结果,发现第二种和百度在线api计算结果一致,应该是最正确的。这里简单的整理下这种。
原文作者: xingguang
原文链接: https://www.tiance.club/post/2178671104.html
用户当前定位经纬度 纬度:lat(23.100571),经度:lat (23.100571) ,经度:lat(23.100571),经度:lng (113.389937)
SELECT id, latitude, longitude round(( 2 * 6378.137 * ASIN( SQRT( POW( SIN( PI()*( $lat- latitude )/ 360 ), 2 )+ COS( PI()* $lat / 180 )* COS( latitude * PI()/ 180 )* POW( SIN( PI()*( $lng- longitude )/ 360 ), 2 )))) * 1000 ) AS juli FROM table(表名) ORDER BY `juli`
这里的计算结果是米为单位,如果想要km为单位的话直接去掉最后面的 "1000",这里我是做了四拾伍入,不保留小数点,直接取整数米,如果只是排序的话建议不加round和1000,提高sql执行效率。
另外还有php版的根据当前定位经纬度排序具体文章地址:
https://www.tiance.club/post/1713014064.html
原文作者: xingguang
原文链接: https://www.tiance.club/post/2178671104.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- mysql版本,根据经纬度定位排序sql
- php根据当前定位经纬度排序
- mysql 根据经纬度 查询表中按经纬度位置最近排序
- mysql的sql语句根据经纬度查询距离排序
- PHP,Mysql根据经纬度计算距离并排序
- mysql根据经纬度计算距离并排序,php根据经纬度计算距离
- 根据当前位置和数据库经纬度排序
- Android定位获取当前经纬度
- MySQL根据截取字符串排序
- Android使用百度地图定位(获取当前经纬度和地址信息)
- MySQL根据某个字段值统计总数并按照大小排序结果
- Google Map 根据经纬度获取当前具体街道位置
- 根据经纬度在地图上定位
- mysql 根据字母排序
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–算法
- 根据IP定位城市名称/经纬度
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,
- mongodb 分页查询并 根据传入的经纬度计算计算两点距离进行排序
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法
- mysql 经纬度坐标定位 算距离