- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:グループ毎の条件抽出)
グループ毎の条件抽出の効率的な方法
このQ&Aのポイント
- 識別毎に状況の最大値を求めるグループを作成し、状況が最大値のデータのみ抽出します。
- 2つ目のグループでは、1つ目のグループの中で日付が最大値のデータのみ抽出します。
- 識別が無いデータは各行で出力し、最後に識別が無いデータを取得します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
分析関数の使える環境であれば、比較的簡単に書けます。 select NO,識別,状況,日付 from (select TableA.*,row_number() over(partition by 識別 order by 状況 desc,日付 desc) R from TableA where 識別 is not null) where R=1 union all select NO,識別,状況,日付 from TableA where 識別 is null ; 分析関数の書けないバージョン/エディションの場合でも、 実現不可能なわけではありません。 (長くなるので省略したました)
お礼
私の期待通りの結果を得られる事ができました。 非常に勉強になりました。有難う御座います!