質問: sqlの集計について教えてください。 環境はoracle9iです。 ■テーブルの構成 |年度|月|部署コード|商品コード|金額| ■テーブルの内容 |2010|01|aaa|001|1000| |2010|02|aaa|001|2000| |2010|01|aaa|001|3000| |2010|01|aaa|002|3000| |2010|02|bbb|003|4000| |2010|01|ccc|001|5000| |2010|03|ccc|001|6000| 上記のようなテーブルがあり、 これを年度,月,部署コード,商品コードでサマリした値を表示したいです。 と、ここまでなら上の4つでgroup byしてあげれば良いのですが、 そこに年度,部署コード,商品コードでサマリした 「累計金額」列を加える必要があります。(イメージは下記のとおりです。) ■抽出結果の構成 |年度|月|部署コード|商品コード|金額|累計金額| ■抽出結果の内容 |2010|01|aaa|001|4000|6000| |2010|02|aaa|001|2000|6000| |2010|02|bbb|003|4000|4000| |2010|01|ccc|001|5000|11000| |2010|03|ccc|001|6000|11000| group byと別の集計単位で列を作ることが可能か、 可能であればどのようなsqlを書くべきか、 というところを教えてください。
回答: yahoo!知恵袋の方でも同じ質問をし、既に回答ももらっているようですが。。。 「累計」ではなく、「『年度+部署コード』毎の合計を、各行にくっつけるだけ」のように見えますが? そうであれば、サブクエリでの集計結果をジョインするだけです。 本当にいわゆる「累計させていく」なら、oracleであれば既に分析関数が実装されてういるバージョンだと思いますが?