• ベストアンサー

最大値の取得

検索すればそれ相応のページもありそうなのですが、ちょっと至急なので、こちらで質問させてください。 以下のようなテーブルで、以下の結果を出す場合のSQL文をお教えいただきたいのですが・・・    A   B   C 1  イ   a   5 2  イ   b   2 3  ロ   a   1 4  ハ   a   3 5  ハ   b   6 6  ハ   a   4 A列は重複ありで内容も多種 B列は重複ありのabのみ C列は重複なしの数値(時間) このような状態のときに、 WHERE文でA='ハ'とした時に、 Cの中で最大値である'6'のB段である'b'だけ持ってきたいんです。    B 1  b こういう結果を出したいんですが、どういったSQL文を書けばいいのか途方にくれています。今日中に何とかしたいのですが、どなたかお教えいただけますでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • sajikagen
  • ベストアンサー率100% (1/1)
回答No.1

気の利いたSQLじゃなくて、すいませんが、、、 select b from ( select max(c) max_c from test2 where A = 'ハ' ) x inner join test2 w on ( w.c = x.max_c )

urdapple
質問者

お礼

すみません急いでいたのでお礼が遅くなってしまいました。 貴重な情報をありがとうございました。

その他の回答 (1)

回答No.2

select * from テーブル where A='ハ' and (A,C) in (select A,max(C) from テーブル goup by A) な感じで良いと思いますよ。

urdapple
質問者

お礼

こ・・・これは簡潔だ。 ありがとうございます。 急場はsajikagenさんのものをマンマ使わせていただきましたが、次回アップデート時にこの方法を使わせていただこうと思います。 ありがとうございました。

関連するQ&A