MySQL 本身不支持直接计算两个坐标点之间的距离。但是,可以使用 MySQL 的空间函数来计算两个经纬度坐标之间的距离。以下是一个示例:

SELECT 
    id, 
    (6371 * acos(cos(radians(lat1)) * cos(radians(lat2)) * cos(radians(lng2) - radians(lng1)) + sin(radians(lat1)) * sin(radians(lat2)))) AS distance
FROM 
    table_name
ORDER BY 
    distance;

其中,'table_name' 是包含经纬度坐标的表的名称,'lat1'、'lng1'、'lat2'、'lng2' 是这两个坐标的纬度和经度。'distance' 是计算得到的距离,单位为千米。这里的计算使用了 Haversine 公式,它是一种常用的计算地球上两个点间距离的方法。

请注意,这种方法只适用于计算小范围内的距离,因为它忽略了地球表面的曲率。对于大范围的距离计算,建议使用专门的地理信息系统 (GIS) 工具或库来处理。

MySQL 计算两个坐标点之间的距离 - 使用 Haversine 公式

原文地址: https://www.cveoy.top/t/topic/o9nG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录