2016-06-01 6 views
0

[YEAR]、[WEEKNO]、[VERSIONNO] cols(など)のデータテーブルがあります。各年の毎週のSQL最大nバージョン

最新のn個のVERSIONNOの行全体(各列)を各YEARのWEEKNOごとに出力したいとします。

SQLでこれを行う最良の方法は何ですか?

+1

使用しているデータベースで質問にタグを付けます。 –

+0

'max(versionno)グループ別、weakno' –

答えて

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-標準機能です。

関連する問題