找到支付最高薪水的部门
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)
我是一名学生,正在完成一项交给我们的假期作业。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)