0
[YEAR]、[WEEKNO]、[VERSIONNO] cols(など)のデータテーブルがあります。各年の毎週のSQL最大nバージョン
最新のn個のVERSIONNOの行全体(各列)を各YEARのWEEKNOごとに出力したいとします。
SQLでこれを行う最良の方法は何ですか?
[YEAR]、[WEEKNO]、[VERSIONNO] cols(など)のデータテーブルがあります。各年の毎週のSQL最大nバージョン
最新のn個のVERSIONNOの行全体(各列)を各YEARのWEEKNOごとに出力したいとします。
SQLでこれを行う最良の方法は何ですか?
あなたは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-標準機能です。
使用しているデータベースで質問にタグを付けます。 –
'max(versionno)グループ別、weakno' –