MySQL计算经纬度并按距离排序

Stephen 后端开发 2019-03-18 10:09:47

很多时候,我们需要通过MySQL查询附近的数据并实现分页

赋值当前用户经纬度

$lng = "";//经度
$lat = "";//纬度
MySQL语句查询

select *,round(ACOS(SIN(({$lat} * 3.1415) / 180 ) *SIN((lat * 3.1415) / 180 ) +COS(({$lat} * 3.1415) / 180 ) * COS((lat * 3.1415) / 180 ) *COS(({$lng} * 3.1415) / 180 - (lng * 3.1415) / 180 ) ) * 6380, 2) distance from user order by distance asc limit 1,10
注:

{$lng}:经度

{$lat}:纬度


分享

评论