- ベストアンサー
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を抽出することはできないのでしょうか? よろしくお願い申し上げます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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; ではどうでしょうか。
その他の回答 (1)
- nora1962
- ベストアンサー率60% (431/717)
回答No.2
select `name` from `items` where `number` = ( select max(`number`) from `items` ) でいいですか?
質問者
お礼
うまくいきました! SQLを入れ子のようにするのですね。 初心者には思いつきませんでした。 ありがとうございました。
お礼
なるほど!前者のやり方がありましたね^^;) 基本的な構文を使えば十分対応できるのですね。 ありがとうございました。 後者の方法も面白そうなので、試してみます。 本当にありがとうございました!