有人可以向我解釋如何在不出錯的情況下將所有選擇包含在 group-by 中嗎?
我做的任務是:“顯示經理的人數和他的最小員工!關閉所有沒有主管的主管。關閉所有最低工資低于1000的組!按工資降序排列輸出順序”(使用谷歌翻譯)
select mgr as Vorgesetztennummer, min(sal) as Mitarbeiter
from emp
where mgr is not null
group by mgr
having sal>1000
order by sal desc;
這是 emp 表的一部分(這樣你就可以看到它的樣子):

錯誤:
ORA-00979: not a GROUP BY expression
如果有人能首先向我解釋錯誤發生的方式和原因,那就太好了。
提前致謝。
uj5u.com熱心網友回復:
如果你有一個GROUP BY attrs在SQL子句那么是不是可以使用屬性a ? attrs中SELECT,HAVING或ORDER BY聚合函式之外。sal ? {mgr}因此,在您的示例中,您的查詢可能應該是
select mgr as Vorgesetztennummer,
min(sal) as Mitarbeiter
from emp
where mgr is not null
group by mgr
having min(sal) > 1000
order by min(sal) desc;
uj5u.com熱心網友回復:
select mgr as Vorgesetztennummer, min(sal) as Mitarbeiter
from emp
where mgr is not null
group by mgr
having min(sal) >1000
order by 2 desc;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/388832.html
