- ベストアンサー
集計のSQL文について
SQLでの集計方法について質問です。 Oracle8iを使用しています。 あるテーブルに以下のようなレコードがあります。 ID 回数 値 1 1 100 1 2 200 1 3 300 2 1 150 2 2 550 .... この登録されている値をそのIDごとに、その回数まで回数ごとにサマリーした結果を出力したいのですが どうすればよいでしょうか。 ID 回数 値 1 1 100 ・・・(100) 1 2 300 ・・・(100+200) 1 3 600 ・・・(100+200+300) 2 1 150 ・・・(150) 2 2 700 ・・・(150+550) 宜しくお願いします
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
8iでもいけると思いますが、以下ではダメでしょうか? select T.ID,T.回数 ,(select sum(値) from TABLENAME where ID=T.ID and 回数<=T.回数) AS 値 from TABLENAME T;
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
回答No.2
8iエンタープライズ版なら、分析関数を使えば・・ select ID,回数,sum(値) over(partition by ID order by 回数) 値 from TARGET; な感じで書けると思いますよ。
質問者
お礼
分析関数は詳しくなかったので参考にさせていただきます。 ありがとうございました。
お礼
なんとかできそうです。 ありがとうございました。