こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

各店舗毎の最大売上の項目を取得したい

Oracle9i+VB6.0で開発をしています。

各店舗毎のデータを以下のように持っています。
T_詳細データ
==============
店舗CD|項目CD|売上
-----------
001|001|100
001|002|800
001|003|200
002|001|710
002|002|110
002|003|210
002|004|100
003|001|120
003|003|110
003|004|620

店舗CD毎の最大売上の項目CDを取得したいのです。

店舗CD|項目CD|売上
-----------
001|002|800
002|001|710
003|004|620

SELECT
 店舗CD ,
 MAX(売上)
FROM
 T_詳細データ
GROUP BY
 店舗CD

としてしまうと、どうしても項目CDが取得できません。
(当たり前ですが・・・)

MAX() OVER(...)というのを使うのかな、と思ったのですが
うまくできませんでした。

アドバイスよろしくお願いいたします。

投稿日時 - 2007-08-23 17:11:55

QNo.3279911

すぐに回答ほしいです

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

サブクエリを使えばできると思います。

ただ、売り上げが同じ場合には、複数表示されると思います。

select 店舗CD,項目CD,売上 from T_詳細データ
where
(店舗CD,売上) in (select 店舗CD,max(売上) from T_詳細データ group by 店舗CD)

これで上手くいくと思いますが、いかがでしょうか?

投稿日時 - 2007-08-23 17:47:16

お礼

すばらしいっ!!!!
こんなことができるとは!!!

試してみましたが、ばっちり望み通りの結果を得ることができました。

これって使いこなせると、すごく色々応用が利きそうですね。
自分でも、もうちょっと調べて使えるようにしてみます。
アドバイスありがとうございました。

投稿日時 - 2007-08-24 09:32:14

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問