0

私のクエリは、各グレードの各部門の従業員数を取得します。

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

今、私は各部門の最大数を取得する成績が必要です。

出力は

dept  grades MAX(count)

どうやってやるの?

ありがとう

4

1 に答える 1

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
于 2013-03-07T11:37:33.937 に答える