mysql 查询附近店铺SQL写法 经度 纬度 范围 距离

27 篇文章 1 订阅
14 篇文章 0 订阅

查询最近10家

注意我这里没用加limit,纯SQL记得加上

SELECT * , round(2 * asin(sqrt(pow(sin((lat * pi() / 180 - $lat * pi() / 180) / 2),2) + cos(lat * pi() / 180) * cos($lat * pi() / 180) * pow(sin((lng * pi() / 180 - $lng * pi() / 180) / 2),2))) * 6378.137,1) as distance FROM t_shop ORDER BY distance ASC

上述代码中出现23和113的地方需要替换成你自己用户的坐标,t_shop.lon和t_shop.lat分别是已经存在数据库中的店铺的经纬度

查询附近10千米以内的店铺

select * from Shop where sqrt((((:lon - lon) *
    PI() * 12656 * cos(((:lat + lat) /
        2) * PI() / 180) /
    180) * ((:lon - lon) *
    PI() * 12656 * cos(((:lat + lat) /
        2) * PI() / 180) /
    180)) + (((:lat - lat) *
    PI() * 12656 / 180) * (
    (: lat - lat) * PI() *
    12656 / 180))) < :kilometer

出现:lon的地方需要替换成你自己用户的经度,出现:lat替换成纬度,:kilometer替换成查询范围,如果是10千米就填10,lat和lon分别代表以及存在数据库中的经纬度,Shop是表名

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昊喵喵博士

大哥你真帅,小姐姐你真漂亮

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值