2013-03-07 73 views
0

我的查询得到每个等级每个部门的员工数。按部门划分后分组得分的最大值

select dept , grade , count(1) CNT 
from mytable 
group by dept , grade 
order by dept , cnt desc; 

现在我需要从每个部门的最大数量得分。

输出应该

dept grades MAX(count) 

我该怎么办呢?

感谢

+2

您正在使用什么RDBMS? (MySQL和甲骨文,SQL的服务器,...)? – 2013-03-07 11:36:53

回答

0

要做到这一点,最好的办法是使用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