プロが教える店舗&オフィスのセキュリティ対策術

教えてください。
3日ほど、悩んでおります。

オラクルのSQLにおいての累計値の取得がどうしてもできません。

会社毎に、毎日の売上累計をSQL一発で取得したいです。


下記例の【★売上累計金額(会社別)】の箇所をレコード毎につみあげて取りたいのですが・・

ただ、対象期間が6ヶ月(約180日)あるので、レスポンスが重要視されています。
なにか、いい方法があれば教えていただきたいです。



例:売上明細テーブル
会社名 売上日  売上金額 ★売上累計金額(会社別)
(1)AAA 2005/12/011000   1000
(2)AAA 2005/12/02 200  1200
(3)AAA 2005/12/04 300  1500
(4)AAA 2005/12/10 500  2000
(5)AAA 2005/12/03 100  2100

(6)BBB 2005/12/05 300   300
(7)BBB 2005/12/09 200   500
(8)BBB 2005/12/20 100   600
(9)BBB 2005/12/251200  1800

(10)CCC 2005/12/05  500    500
(11)CCC 2005/12/08 1000    1500


以上、なんとかご教授お願いいたします!

A 回答 (1件)

分析関数が使える環境なら・・



select
会社名,
売上日,
売上金額,
sum(売上金額) over(partition by 会社名 order by 売上日) 売上累計
from 売上明細テーブル
;

で可能です。

分析関数が使えない環境でも、結合をうまく使えば出来なくはありませんが、
効率が効率が良くありません。
(面倒なので、分析関数を使わない方法は割愛します)
    • good
    • 1
この回答へのお礼

なんとか、ご教授いただいた内容にて
解決できました。
ありがとうございました!

お礼日時:2005/12/13 22:46

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

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