• ベストアンサー

最大値の取得

検索すればそれ相応のページもありそうなのですが、ちょっと至急なので、こちらで質問させてください。 以下のようなテーブルで、以下の結果を出す場合のSQL文をお教えいただきたいのですが・・・    A   B   C 1  イ   a   5 2  イ   b   2 3  ロ   a   1 4  ハ   a   3 5  ハ   b   6 6  ハ   a   4 A列は重複ありで内容も多種 B列は重複ありのabのみ C列は重複なしの数値(時間) このような状態のときに、 WHERE文でA='ハ'とした時に、 Cの中で最大値である'6'のB段である'b'だけ持ってきたいんです。    B 1  b こういう結果を出したいんですが、どういったSQL文を書けばいいのか途方にくれています。今日中に何とかしたいのですが、どなたかお教えいただけますでしょうか。 よろしくお願いします。

  • Oracle
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • sajikagen
  • ベストアンサー率100% (1/1)
回答No.1

気の利いたSQLじゃなくて、すいませんが、、、 select b from ( select max(c) max_c from test2 where A = 'ハ' ) x inner join test2 w on ( w.c = x.max_c )

urdapple
質問者

お礼

すみません急いでいたのでお礼が遅くなってしまいました。 貴重な情報をありがとうございました。

その他の回答 (1)

回答No.2

select * from テーブル where A='ハ' and (A,C) in (select A,max(C) from テーブル goup by A) な感じで良いと思いますよ。

urdapple
質問者

お礼

こ・・・これは簡潔だ。 ありがとうございます。 急場はsajikagenさんのものをマンマ使わせていただきましたが、次回アップデート時にこの方法を使わせていただこうと思います。 ありがとうございました。

関連するQ&A

  • エクセルのマクロで、指定した条件を満足する組み合わせを表示する方法?

    エクセルで、例えば     イ ロ ハ A-a 3 6 0 A-b 0 5 1 A-c 2 0 5     イ ロ ハ B-a 3 0 0 B-b 5 3 1 B-c 0 2 0     イ ロ ハ C-a 0 5 0 C-b 0 4 5 C-c 0 0 2 のように幾つかのグループ(A、B、C)があって、 それぞれのグループに幾つかのサンプル(a、b、c)があって、 それぞれのサンプルに幾つかの属性(イ、ロ、ハ)があるとして、 (イ 5以上 ロ 10以上 ハ 5以上) のように属性を任意に指定すると、それぞれのグループから一つずつサンプルを選択して、 指定した条件を満足する組み合わせを表示する方法ってありますか? イ 5以上 ロ 10以上 ハ 5以上の指定だと、     イ  ロ  ハ A-a 3  6  0 B-a 3  0  0 C-b 0  4  5     6 10  5     イ  ロ  ハ A-a 3  6  0 B-b 5  3  1 C-b 0  4  5     8 13  6     イ  ロ  ハ A-b 0  5  1 B-b 5  3  1 C-b 0  4  5     5 12  7 のように表示してくれると良いのですが。 教えてください、よろしくお願いします。

  • 文字を変換するマクロ

    こんばんわ。エクセルのマクロについて教えてください。 A列に、「イ」「ロ」「ハ」「ニ」「ホ」という文字が入っており、 これをB列に、 イなら1、ロ→2、ハ→3、ニ→4、ホ→5 というな置換ルールで入力していくマクロは、 どのように組めばよいのでしょうか。 (マクロを組まずとも、  普通に置換を使えばできると思うのですが、  是非、マクロで組みたいので・・・) (A列)(B列)  ロ   2  イ   1  ハ   3  ニ   4  イ   1  ホ   5      ↑   マクロを実行すると、   B列に変換された数値が入力される よろしくお願いします。

  • エクセルで複数列のデータに対して検索後、対象行を表示できますか?

    よろしくお願いします。 エクセル2002を使っています。 例として 1        E F G 2 データA  イ ロ ハ  3 データB  ロ ハ 4 データC  ニ  5 データD  ニ ロ E,F,G列に行方向にイ~ニのデータがランダムに入っています。 オートフィルを使う様に3列中にイを含む行、又はイ又はロを含む行、イ、ロ、ハを含む行を表示させたいのですが、何か方法があるでしょうか? どなたかご存知の方ご教授お願いします。

  • エクセル関数で検索し一致した最後の行を取得

    お世話になっております。 エクセルの関数のみで、A列の中で一番最後に一致した行番号を返す方法はないでしょうか? 例)  A 1 イ 2 ロ 3 ハ 4 ニ 5 イ 6 イ 7 ロ 8 イ 9 ハ イ の場合:8行目 ロ の場合:7行目 どうぞ、よろしくお願い致します。

  • 予測を行うのに適した手法がありましたらおしえてくだ

    以下の様な例の場合に使いやすい統計手法等がありましたら 教えてください。 例) イ ロ ハ 二 という食品があり AさんとBさんがこの食品の甘さを5段階で評価したとします (数字が大きいほど甘い) Aさんは以下の用に評価し イ=1 ロ=2 ハ=3 ニ=4 Bさんは以下の用に評価した場合 イ=2 ロ=3 ハ=4 Bさんが 二 の甘さをどう評価するか予測したい

  • PDFを再調整したい

    2つのPDFがあります。 甲が 1.A 2.ロ 3.C 乙が 1.イ 2.B 3.ハ それを 甲が 1.A 2.B 3.C 乙が 1.イ 2.ロ 3.ハ にしたいのです。そのためにはどのようなソフトが必要でしょか。できればUSBから起動できるものがいいです。

  • 別のネットワーク上のプリンタを使用できますか?

    文章でわかりづらいかもしれませんが、よろしくお願いします。 パソコン、「イ」「ロ」「ハ」の3台が、「ALPHA」と言うワークグループで、「イ」のファイルやプリンタ等を共有しています。 また、インターネット回線も共有しており、外部とのメールの送受信が出来ます。 ------------------------ 別の、「A」「B」「C」の3台が、同じ「ALPHA」と言うワークグループ名で、「A」のファイルやプリンタ等を共有しています。 ------------------------ 現在「イ」「ロ」「ハ」のグループと、「A」「B」「C」のグループは独立しており、何ら接点(接続)はありません。 ------------------------ この状態から、 LANケーブルを、「イ」「ロ」「ハ」のHUBと、「A」「B」「C」のHUBと接続して、 「A」で作成したデータを「イ」のプリンタから出力させることは可能でしょうか? 可能でしたら、その設定方法を知りたいのです。 OSは、XPです。 但し、現在割り振られている「イ」「ロ」「ハ」「A」「B」「C」のインターネットプロトコル(IPアドレス等)は変更できません。

  • 最大最小の場合分けの答えの書き方を教えてください

    最大最小の場合分けの問題で 二次関数f(x)=xの二乗 -2ax+a (0≦x≦2)について f(x)の最大値をaで表せ。 という問題なのですが、解答には (イ)a<0 のときf(2)=-3a+4 (ロ)0≦a<1のとき f(2)=-3a+4 (ハ)1≦a<2のとき f(0)=a (ニ)2≦aのとき f(0)=a となり、(イ)と(ロ)、(ハ)と(ニ)は 最大値が同じなのでまとめて a<1のとき、最大値ー3a+4 1≦aのとき、最大値a とあったのですが、この(イ)と(ロ)、(ハ)と(ニ) のまとめ方がどうやったのかわかりません>< 教えてください! よろしくお願いします

  • Excel 別のシートを参照し、行のデータを列の向きに直したい

    <Sheet1> A  B  C  D   E   F ~ 1 商品名 価格 数量 割引率 合計 2  イ 3  ロ 4  ハ 5  ニ のようなデータを <Sheet2>に    A   B  C  D  E  ~ 1 商品名  イ  ロ  ハ  ニ 2  価格 3  数量 4 割引率  5  合計  のように、向きを変えて表を作り変えたいのですが、 <Sheet2>のB列に    A   B      1 商品名 =Sheet1!B2   2  価格 =Sheet1!C2 3  数量 =Sheet1!D2 4 割引率 =Sheet1!E2 5  合計 =Sheet1!F2 と入れて、オートフィルさせても、だめですよね。 当然のようにC列はSheet1!B3にならずSheet1!C2 になってしまいます。 どうすれば、良いかご存知の方、教えてください。 宜しくお願いたします。  

  • エクセルの数式を教えて下さい

    どなたか、次の表の適用率を当てはめるためのエクセル数式を教えていただけますでしょうか? 色々調べておりましたが分からなくて質問させていただきました。      a以下,b以下,C超 イ以上 50% 40% 30% ロ以上 60% 70% 80% ハ以上 100% 20% 10%