我正在尝试进行查询以确定Postgres数据库中地理定位点之间的距离这是我的查询
SELECT latitude, longitude, SQRT(
POW(69.1 * (latitude - 31.8679), 2) +
POW(69.1 * (-116.6567 - longitude) * COS(latitude / 57.3), 2)) AS distance
FROM locations
HAVING distance < 25
ORDER BY distance
Run Code Online (Sandbox Code Playgroud)
但它给了我这个错误
错误:列"距离"不存在第5行:距离<25
如果我删除部分"HAVING distance <25",则查询运行正常
好的,我解决了,检查其他问题
SELECT t.* FROM (
SELECT latitude, longitude,SQRT(POW(69.1 * (latitude - 31.8679), 2) +
POW(69.1 * (-116.6567 - longitude) * COS(latitude / 57.3), 2)) AS distance
FROM Locations) t
WHERE distance < 1
ORDER BY distance
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1495 次 |
| 最近记录: |