0
我的查询得到每个等级每个部门的员工数。按部门划分后分组得分的最大值
select dept , grade , count(1) CNT
from mytable
group by dept , grade
order by dept , cnt desc;
现在我需要从每个部门的最大数量得分。
输出应该
dept grades MAX(count)
我该怎么办呢?
感谢
我的查询得到每个等级每个部门的员工数。按部门划分后分组得分的最大值
select dept , grade , count(1) CNT
from mytable
group by dept , grade
order by dept , cnt desc;
现在我需要从每个部门的最大数量得分。
输出应该
dept grades MAX(count)
我该怎么办呢?
感谢
要做到这一点,最好的办法是使用row_number()
功能:
select dept, grade, cnt
from (select dept, grade, count(*) as cnt,
row_number() over (partition by dept order by count(*) desc) as seqnum
from mytable t
group by dept, grade
) t
where seqnum = 1
您正在使用什么RDBMS? (MySQL和甲骨文,SQL的服务器,...)? – 2013-03-07 11:36:53