MySQL 计算坐标字段之间的距离,并根据该距离来进行排序。

在MySQL中,可以使用空间函数来计算坐标字段之间的距离,并根据该距离来进行排序。

首先,确保MySQL中已启用空间函数。可以通过以下命令检查:

SHOW VARIABLES LIKE 'version_compile_machine';

如果结果中包含“WITH_SPATIAL”,则已启用空间函数。

假设我们有一个表格名为 “locations”,其中包含一个名为 “coordinates” 的坐标字段(使用点类型)。我们可以使用如下的SQL查询来根据坐标字段的距离排序:

SELECT *
FROM locations
ORDER BY ST_Distance(coordinates, POINT(目标经度, 目标纬度));
  1. 将 “locations” 替换为实际的表格名称。
  2. 将 “coordinates” 替换为实际的坐标字段名称。
  3. 将 “目标经度” 和 “目标纬度” 替换为实际的目标位置的经度和纬度值。

这条SQL查询将返回按距离排序的所有记录。较近的记录将排在前面。

猜你喜欢

转载自blog.csdn.net/qq_27487739/article/details/134680840
今日推荐