业务背景:
查看我附近的公共厕所, 查询的时候通过传入当前使用人的经度(lng)与纬度(lat), 与数据库里的厕所信息进行位置计算, 得出我距离每个厕所的距离(单位:公里), 并且按照距离的远近进行排序, 最近的显示在最上面
SELECT
t1.name,
t1.address,
t1.uid,
t1.code
CONVERT(ACOS(COS(${lat}*PI()/180 )*COS(t1.lat*PI()/180)*COS(${lng}*PI()/180-t1.lng*PI()/180)+SIN(${lat}*PI()/180 )*SIN(t1.lat*PI()/180))*6370996.81/1000, DECIMAL(10,2)) AS distance
FROM
toilet t1
WHERE
t1.is_delete = '0'
ORDER BY
distance ASC
查询后的结果: