2017-06-01 65 views

回答

2

一种方法是:

select t.* 
from (select t.*, 
      row_number() over (partition by grp order by col) as seqnum 
     from t 
    ) t 
where seqnum <= @n; 
0

它的一件容易的事

MAX(column) OVER(PARTITION BY column) AS mx 

您将获得每个列的值,这是TOP N

最大值

用其他集合函数替换MAX以获得另一个洞察,如MIN,AVG等。