2
說我有以下數據:添加值累計跨越年和月
select 1 id, 'A' name, '2007' year, '04' month, 5 sales from dual union all
select 2 id, 'B' name, '2007' year, '05' month, 2 sales from dual union all
select 3 id, 'B' name, '2008' year, '12' month, 3 sales from dual union all
select 4 id, 'B' name, '2009' year, '12' month, 56 sales from dual union all
select 5 id, 'C' name, '2009' year, '08' month, 89 sales from dual union all
select 6 id, 'A' name, '2010' year, '12' month, 4 sales from dual union all
select 7 id, 'C' name, '2011' year, '12' month, 24 sales from dual union all
select 8 id, 'D' name, '2012' year, '12' month, 15 sales from dual union all
select 9 id, 'D' name, '2013' year, '12' month, 12 sales from dual union all
select 10 id,'D' name, '2014' year, '12' month, 16 sales from dual union all
select 11 id,'A' name, '2015' year, '07' month, 18 sales from dual union all
select 12 id,'B' name, '2015' year, '09' month, 29 sales from dual union all
select 13 id,'B' name, '2016' year, '01' month, 10 sales from dual union all
select 14 id,'A' name, '2016' year, '02' month, 8 sales from dual union all
select 15 id,'D' name, '2016' year, '03' month, 12 sales from dual union all
select 16 id,'E' name, '2016' year, '04' month, 34 sales from dual
我想會逐漸增加了所有在所有年銷售和它們各自的週期(月)。 輸出應該如下所示:
name year month sale opening bal closing bal
A 2007 04 5 0 5
A 2007 05 2 5 7
B 2008 12 3 12 15
B 2009 12 56 15 71
C 2009 08 89 71 160
A 2010 12 4 160 164
C 2011 12 24 164 188
D 2012 12 15 188 203
D 2013 12 12 203 215
D 2014 12 16 215 231
A 2015 07 18 231 249
B 2015 09 29 249 278
B 2016 01 10 278 288
A 2016 02 8 288 296
D 2016 03 12 296 308
E 2016 04 34 308 342
期初餘額是前一個月的期末餘額,如果它進入明年比明年的期初餘額是上年年末餘額。在接下來的幾年中,它應該能夠像這樣工作。
我正在使用Oracle 12c。
在此先感謝。
嗨,在我的實際情況。我有許多標識列,如姓名,年齡,地址等。我還將分區添加到您的解決方案中,但不會返回正確的結果。 (根據姓名,年齡,按年份,月份的地址順序劃分) – bytebiscuit
@bytebiscuit:但戈登的回答是正確的。這是一個簡單的運行總數。所有你需要考慮的是在你想要增加銷售的組(分區)內。 –