- ベストアンサー
最大値の取得
検索すればそれ相応のページもありそうなのですが、ちょっと至急なので、こちらで質問させてください。 以下のようなテーブルで、以下の結果を出す場合の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文を書けばいいのか途方にくれています。今日中に何とかしたいのですが、どなたかお教えいただけますでしょうか。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
気の利いたSQLじゃなくて、すいませんが、、、 select b from ( select max(c) max_c from test2 where A = 'ハ' ) x inner join test2 w on ( w.c = x.max_c )
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
select * from テーブル where A='ハ' and (A,C) in (select A,max(C) from テーブル goup by A) な感じで良いと思いますよ。
お礼
こ・・・これは簡潔だ。 ありがとうございます。 急場はsajikagenさんのものをマンマ使わせていただきましたが、次回アップデート時にこの方法を使わせていただこうと思います。 ありがとうございました。
お礼
すみません急いでいたのでお礼が遅くなってしまいました。 貴重な情報をありがとうございました。