我正在查找表中的員工數量,該表格中的所有員工的最高工資均爲tblPerson。查詢查找獲得最高工資的員工數量
Select Max(x.[No of Employees]) as Number, x.Salary as Salary
from
(
Select Count(Id) as [No of Employees], Salary
from tblPerson
Group by Salary
Having Salary = MAX(Salary)
)x
where x.[No of Employees]=3
現在我知道這是一種做它的長期和複雜的方式,但我試圖用一個派生表做到這一點。但我得到的錯誤:
我的問題是,「因爲它不是在聚合函數或GROUP BY子句中包含列‘x.Salary’在選擇列表中無效」,我爲什麼由於主查詢是帶有where子句的簡單Select語句,因此我得到這個特定的錯誤。不是嗎?
Nopes ..不工作先生。請看我上面的回覆以上回答 – TotalGadha
檢查你的外部查詢「Select Max(x。[No of Employees])as Number,x.Salary as x從x其中x。[No of Employees] = 3」 。您正試圖計算僱員人數的最大值,並試圖獲得薪水。如果您使用的是Max函數,這是一個聚合函數,那麼select語句中的其他表達式應該是一個group_by表達式。請參閱:https://www.techonthenet.com/sql/max.php –
是的。我現在明白了。我的意思是這個概念。但我仍然無法找出解決方案來做到這一點:( – TotalGadha