通过客户端传过来的经纬度,保存在数据库,用sql语句查询出附近的人,本文主要和大家分享sql查询附近的人的实例,希望能帮助到大家。
table_name 表结构,分别是自增id,城市id,经纬度
id city_id y x
1 1901 22.982087 113.318505
2 1901 23.079377 113.298556
LAT/LNG分别是纬度经度,由客户端传过来的
select city_id,y,x,ACOS(SIN((LAT * 3.1415) / 180) * SIN((y * 3.1415) / 180 ) + COS((LAT* 3.1415) / 180 ) * COS((y * 3.1415) / 180 ) *COS((LNG* 3.1415) / 180 - (x * 3.1415) / 180 ) ) * 6380 as distance from TABLE_NAME WHERE city_id=1901 ORDER BY distance
mysql示例
select city_id,y,x,ACOS(SIN((23.13678584271096 * 3.1415) / 180) * SIN((y * 3.1415) / 180 ) + COS((23.13678584271096 * 3.1415) / 180 ) * COS((y * 3.1415) / 180 ) *COS((113.2937260476958* 3.1415) / 180 - (x * 3.1415) / 180 ) ) * 6380 as distance fromTABLE_NAME WHERE city_id=1901 ORDER BY distance
相关推荐:
以上就是sql查询附近的人的实例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号