失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql 查询附近店铺SQL写法 经度 纬度 范围 距离

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

时间:2021-06-18 23:24:10

相关推荐

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

查询最近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是表名

如果觉得《mysql 查询附近店铺SQL写法 经度 纬度 范围 距离》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。