我有一个查询,用于获取给定距离和邮政编码内的地址。距离是根据经度和纬度数据计算出来的。
在这个例子中,我已经将用户输入替换为具体值(纬度=52.64、经度=6.88和所需距离=10公里)。
查询如下:
SELECT *,
ROUND( SQRT( POW( ( (69.1/1.61) * ('52.64' - latitude)), 2) + POW(( (53/1.61) * ('6.88' - longitude)), 2)), 1) AS distance
FROM lp_relations_addresses distance
WHERE distance < 10
ORDER BY `distance` DESC
错误信息显示未知列距离。
当省略where子句时,会获取表中的每条记录,包括计算出的距离。在这种情况下,必须获取整个表格。
如何仅获取所需记录?
提前感谢您的任何评论!
Ilmari Karonen
的解决方案,因为它可能更有效率。 - mellamokb