如何使用与SQL Server
问题描述:
下面的文章(https://docs.microsoft.com/en-us/sql/t-sql/queries/select-over-clause-transact-sql)声称的OVER()子句前n:如何使用与SQL Server
人们可以找到结果 “每组前N个” 使用过的条款。
请给我一个例子。
此致
答
一种方法是:
select t.*
from (select t.*,
row_number() over (partition by grp order by col) as seqnum
from t
) t
where seqnum <= @n;
答
它的一件容易的事
MAX(column) OVER(PARTITION BY column) AS mx
您将获得每个列的值,这是TOP N
最大值用其他集合函数替换MAX以获得另一个洞察,如MIN,AVG等。