我有一个请求
select
w.Departament_Id, avg(w.Salary) as avgSal,
dep.Name as Name
from
Employee w
join
Departament dep
on
dep.Id = w.Departament_Id
group by
w.Departament_Id,
dep.Name
此请求返回一个表,其中包含每个部门的所有平均薪水。接下来,目标是选择具有最大avgSal值的部门的Name
。
怎么解决?
答案 0 :(得分:2)
按聚合排序并占据前1:
select TOP 1
w.Departament_Id,
avg(w.Salary) as avgSal,
dep.Name as Name
from Employee w
join Departament dep
on dep.Id = w.Departament_Id
group by
w.Departament_Id,
dep.Name
ORDER BY avg(w.Salary) DESC
根据您的服务器软件,语法可能略有不同(有些会允许ORDER BY avgSal
,有些则不会;有些会使用LIMIT
代替TOP
),但这是一般的想法