- ベストアンサー
SQL文で教えてください
初めてです。お願いします。 次のようなテーブルがあります。 ID kosuu ------------ 1 3 2 5 3 1 kosuuの一番大きい値とそれに紐づくIDを取得したいのですが SELECT ID, Max(kosuu) FROM tblX と書くと、IDが不正だとおこられてしまいます。 ID kosuu ------------ 2 5 を抽出するにはどうしたらよいでしょうか? Access2000です。宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 先ほどのサブクエリーでは、結果が一件の時のみ有効ですので グループ化して複数のレコードを条件としたい場合は、IN句を使います。 "="を"in"に変えて、グループ化をしてみてください。 こんな感じです。 select ID,kosuu from tblX where kosuu in (select max(kosuu) from tblX group by name)
その他の回答 (1)
- maro200
- ベストアンサー率45% (15/33)
select ID,kosuu from tblX where kosuu = (select max(kosuu) from tblX) こんな感じで出来ると思います。
補足
maroさん、ありがとうございます!!できました! で、実はテーブルにはもうひとつカラムがありまして、 ID kosuu Name ------------ 1 3 aa 2 5 aa 3 1 bb となっています。 実際は、このNameでグループ化した中でのkosuuの最大値をとりたかったのです。 最大値の取り方だけわかれば後は自分で出来るかなあ? と思い、色々やってみたのですが、できませんでした(-_-) もしよろしければ、そちらのやり方も教えていただけないでしょうか? あつかましくてすみません。 宜しくお願いします。 欲しいデータは ID kosuu Name ------------ 2 5 aa 3 1 bb です。
お礼
できました!! ご親切にどうもありがとうございました! 大変勉強になりました。 これからもどうぞ宜しくお願いします。