这是我的代码:
SELECT SIGHTING_ID,MAX((SQRT(POWER(LATITUDE-(-28),2)+(POWER(LONGITUDE-151,2)) AS DISTANCE
FROM SIGHTINGS
我认为问题是支架。我尝试了很多组合,但错误仍然在这里。我该怎么做或查询错了?
答案 0 :(得分:1)
包含的Group By子句,因为您在查询中使用MAX函数。
SELECT SIGHTING_ID,
MAX(SQRT(POWER(LATITUDE-(-28),2)+POWER(LONGITUDE-151,2))) AS DISTANCE
FROM SIGHTINGS
GROUP BY SIGHTING_ID;
答案 1 :(得分:0)
如错误所述,您错过了右括号。这是正确的查询
SELECT SIGHTING_ID,
Max(Sqrt(Power(LATITUDE - ( -28 ), 2) + ( Power(LONGITUDE - 151, 2) ))) AS DISTANCE
FROM SIGHTINGS --^^
GROUP BY SIGHTING_ID
添加了两个右括号并删除了一个不需要的左括号。以上查询返回每个SIGHTING_ID
如果你只有最大距离的记录,那么试试这个
SELECT *
FROM (SELECT SIGHTING_ID,
Sqrt(Power(LATITUDE - ( -28 ), 2) + ( Power(LONGITUDE - 151, 2) )) AS DISTANCE
FROM SIGHTINGS
ORDER BY DISTANCE DESC)
WHERE ROWNUM = 1