- - PR -
SQL:最大件数の抽出について
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-09-07 13:57
いつもお世話になっております。
Oracle(9i)のSQLについて質問があります。 以下のテーブルについて、 ★テーブルAA 列A 列B 列C 00001 311 1 00001 21 15 00002 1 2 00001 14 1 00442 5 2 00442 2 12 00520 11 1 列A単位で列Cの最大値であるレコードを、 全列表示させるSQLをご教授いただけないでしょうか? 上記の例では、 ◎結果 列A 列B 列C 00001 21 15 00002 1 2 00442 2 12 00520 11 1 となります。 欲を言えば、列A単位で列Cが同じ値の場合、 列Aのいちばん若い(小さい)コードのみを 抽出したいのですが、複数表示されても かまいません。 基本的なことなのかもしれませんが、 すみませんが、ご教授よろしくお願いします。 | ||||||||
|
投稿日時: 2006-09-07 16:40
こんにちは。
この部分を解釈できているか不安ですが、副問い合わせを利用した SQL でいかがでしょうか。
_________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||||||
|
投稿日時: 2006-09-07 16:59
すばやいご返答ありがとうございます。
さっそく確認します。 (別作業のため、確認ができるのは後になりそうです) ※質問時の表がずれてしまいましたね。。。 閲覧して頂いた皆さん、見えにくくてすみませんでした。 | ||||||||
|
投稿日時: 2006-09-08 09:52
相関副問合せ
select t1.a, t1.b, t1.c from AA t1 where t1.c = all (select max(c) from AA t2 where t1.a = t2.a) order by a; | ||||||||
|
投稿日時: 2006-09-08 10:41
allは不要 | ||||||||
1
