プロが教えるわが家の防犯対策術!

MySQL5.0を使っています。
次のようなテーブル(items)があるとします。

name(varchar)|number(int)
---------------------------
itemA | 5
itemB | 2
itemC | 3

ここからnumberの最大値を持つnameを抽出したいのです。
SELECT max(number) FROM items とすると当然「5」が返ってきますが、このmax(number)を条件にしてitemを抽出することはできないのでしょうか?

よろしくお願い申し上げます。

A 回答 (2件)

select `name` from `items`


where `number` = ( select max(`number`) from `items` )

でいいですか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/13 16:34

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;

ではどうでしょうか。
    • good
    • 0
この回答へのお礼

なるほど!前者のやり方がありましたね^^;)
基本的な構文を使えば十分対応できるのですね。
ありがとうございました。

後者の方法も面白そうなので、試してみます。

本当にありがとうございました!

お礼日時:2008/05/13 16:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す