• ベストアンサー

MySQL関数max()を条件にSELECTできませんか?

MySQL5.0を使っています。 次のようなテーブル(items)があるとします。 name(varchar)|number(int) --------------------------- itemA | 5 itemB | 2 itemC | 3 ここからnumberの最大値を持つnameを抽出したいのです。 SELECT max(number) FROM items とすると当然「5」が返ってきますが、このmax(number)を条件にしてitemを抽出することはできないのでしょうか? よろしくお願い申し上げます。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

select name, number from items order by number desc limit 1; とか select name from items a, (select max(number) from items) b where a.number = b.max; ではどうでしょうか。

pochichi
質問者

お礼

なるほど!前者のやり方がありましたね^^;) 基本的な構文を使えば十分対応できるのですね。 ありがとうございました。 後者の方法も面白そうなので、試してみます。 本当にありがとうございました!

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

select `name` from `items` where `number` = ( select max(`number`) from `items` ) でいいですか?

pochichi
質問者

お礼

うまくいきました! SQLを入れ子のようにするのですね。 初心者には思いつきませんでした。 ありがとうございました。

関連するQ&A