我有一个表结构

Emp_id  Emp_name    Emp_sal Depat
1       AB          10000   A
2       CB          12000   A
3       DA          7000    B
4       SB          2000    B
5       WE          6000    A
6       CF          10000   B
7       AK          8000    C
8       LM          6000    C


我需要一个结果作为每个出发组的最大emp_sal
喜欢

Emp_name   Emp_sal  Depart
CB         12000    A
CF         10000    B
AK         8000     C

I wrote a query as :

SELECT DISTINCT (emp_sal) , depart from emp
group by depart
having emp_sal = (select max(emp_sal) from emp group by depart  )


但这没有用。我尝试了其他几个查询,但没有得到理想的结果。

最佳答案

要回答上述问题:

select max(emp_sal), depart
from emp
group by depart


但是,我怀疑您希望整个行都包含每个部门的最高工资:

select emp_name, emp_sal, depart
from (select * from emp order by emp_sal desc) x
group by depart


注意:这是仅适用于mysql的解决方案(通过whacky group by),但是问题被标记为mysql,并且此方法有效:)

关于mysql - 从组中获取最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16090970/

10-12 07:12