- ベストアンサー
各NO内で、最大値を抽出するSELECT文がわかりません。
あるテーブル[SAMPLE]があります。 キーは、<NO>と<版数>です。データ内容は、 以下の通りです。 <NO><版数><名前> 1 1 AAAA 1 2 BBBB 1 3 CCCC 2 1 DDDD 2 2 EEEE このテーブルから、各NOで、版数が最大のものを抽出したいのです。 抽出後 → <NO><版数><名前> 1 3 CCCC 2 2 EEEE どのようなSELECT文になるのでしょうか? 教えてください。お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
select a.NO, a.版数, a.名前 from SAMPLE a, (select NO, max(版数) as 最新 from SAMPLE group by NO ) b where a.NO=n.NO and a.版数=b.最新 でどうでしょう?
その他の回答 (1)
- capuchin
- ベストアンサー率46% (13/28)
回答No.1
select max(版数) from テーブル名 group by NO; でNO毎の最大版数が求められるかと思います。 後は、抽出項目内容によってはWhere句に組み込むなどすればいいのではないでしょうか。
お礼
bin-chanさんに教えていただいた方法で、 解決しました!! fromの後に、select文が使用できるなんて、 初めて知りました。 select文で抽出したデータを、新たなテーブルとして 扱うようなイメージですね。勉強になりました。 ありがとうございました。