【发布时间】:2025-12-27 09:40:07
【问题描述】:
我在处理这个查询时遇到了问题:
SELECT Store_name, GPS_latitude, GPS_longitude, SQRT(
POW(69.1 * (GPS_latitude - $longitude), 2) +
POW(69.1 * ($latitude - GPS_longitude) * COS(GPS_latitude / 57.3), 2)) AS distance
FROM table HAVING distance < 25 ORDER BY distance
网站的用户应该能够输入坐标(纬度和经度)。从那里开始,我希望上面的查询列出表中的商店,按它们与给定 $latitude 和 $longitude 的用户的接近程度排序。
我确实得到了结果,但前提是我将查询从“距离
是查询计算错误的方式吗?我很困惑,似乎找不到任何解决方案。
【问题讨论】:
-
分离查询的每个部分,选择它并查看它是多少,然后将它与应该是多少进行比较。我怀疑这里的任何人现在会坐下来看看你的数学逻辑是否正确。 .
-
@MaxU - 谢谢你的回答。恐怕我没有发现它有帮助。
-
@sagi 谢谢。我对 SQL 不是很熟悉,能否详细说明如何分隔查询的各个部分?
-
常量 69.1 和 53.7 的含义是什么?