• ベストアンサー

各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文になるのでしょうか? 教えてください。お願いします。   

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.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.最新 でどうでしょう?

pink_pinponparl
質問者

お礼

bin-chanさんに教えていただいた方法で、 解決しました!! fromの後に、select文が使用できるなんて、 初めて知りました。 select文で抽出したデータを、新たなテーブルとして 扱うようなイメージですね。勉強になりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • capuchin
  • ベストアンサー率46% (13/28)
回答No.1

select max(版数) from テーブル名 group by NO; でNO毎の最大版数が求められるかと思います。 後は、抽出項目内容によってはWhere句に組み込むなどすればいいのではないでしょうか。

すると、全ての回答が全文表示されます。

専門家に質問してみよう