每年每周的SQL max n版本

时间:2016-06-01 14:08:21

标签: sql greatest-n-per-group

我有[YEAR],[WEEKNO],[VERSIONNO] cols(和其他人)的数据表。

我希望每年为每个WEEKNO输出最新n个VERSIONNO的整行(每列)。

在SQL中执行此操作的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用row_number()

select t.*
from (select t.*,
             row_number() over (partition by year, weekno order by versionno desc) as seqnum
      from t
     ) t
where seqnum <= n    -- Your value goes here

row_number()是大多数数据库支持的ANSI标准功能。