方式一:st_distance_sphere 计算结果单位米
sql
SELECT *,
st_distance_sphere(point(lng,lat),point(lng,lat)) as distance
FROM table
mysql 版本5.7 以上
方式二:st_distance 计算结果单位是度
sql
SELECT *,
(st_distance(point(lng,lat),point(lng4,lat))*111195/1000 ) as distance
FROM table
st_distance 计算的结果单位是度,需要乘111195(地球半径6371000*PI/180)是将值转化为米
mysql 版本5.6 以上
测试结果
st_distance_sphere 最准确
st_distance 结果都相差有点大。(单位都是米)
在线经纬度距离计算
1.http://www.atoolbox.net/Tool.php?Id=1001