找到支付最高薪水的部门

Find the dept that is being paid the max salary

我是一名学生,正在完成一项交给我们的假期作业。MySql。
我有一个看起来像这样的 table :

name      dept     salary  
 A       Sales      100
 B       Marketing  200
 C       Sales      800

(抱歉,我是 stackexchange 的新手,所以我不知道如何显示 table。)

查询的问题是:找到支付最高工资的部门
我输入了以下查询:

SELECT dept
     , SUM(salary)
FROM emp
GROUP BY dept
HAVING MAX(SUM(salary));

但我收到以下错误:

'Invalid use of group function error'.

如果 salary 总和是唯一的,您可以计算每个 dept 的总和,然后按总薪水降序排列记录并获取第一条记录(薪水最高):

select dept
     , sum(salary) as salary
from tbl
group by dept
order by salary desc
limit 1

如果 salary 总和可以与多个 dept 相同,您可以计算每个 dept 的工资总和,然后以相同的方式找到最大 salary 总和如上所述,使用 having 子句验证每个组的 salary 总和是否等于最大 salary 总和:

select dept
from tbl
group by dept 
having sum(salary) = ( select sum(salary) as salary
                       from tbl
                       group by dept
                       order by salary desc
                       limit 1)