根据经纬度计算两点之间的距离(sql计算)
1. 通过sql方式实现
select *
from (SELECT id,
store_code,
store_name,
IF((ISNULL(30.5729213673073) || LENGTH(trim(30.5729213673073)) < 1 || ISNULL(baidu_latitude) ||
LENGTH(trim(baidu_latitude)) < 1), 1000000, ROUND(6378.137 * 2 * ASIN(SQRT(POW(
SIN((30.5729213673073 * PI() / 180 - baidu_latitude * PI() / 180) / 2),
2) +
COS(30.5729213673073 * PI() / 180) *
COS(baidu_latitude * PI() / 180) *
POW(
SIN((114.18290605662781 * PI() / 180 - baidu_longitude * PI() / 180) / 2),
2))), 2)) *
1000 AS metre
FROM table.geo
where store_status in ('20', '30')) metre_table
where metre_table.metre <= 3000
order by metre asc
limit 1;