我在表格中有以下内容
c1 1 4 3 2 2
我需要生成c2:
c1 c2 1 1 4 5 3 8 2 10 2 12
c2的第一行是c1行值。现在需要为c2的第二行添加c1的第二行和c2的第一行。对于c2的第三行,C2 = c1的第三行+ c2的第二行,依此类推......
我需要在sql中使用它。有可能吗?
我使用oracle 11g。
答案 0 :(得分:1)
您的算法只是简化了运行总计:
create table c2 as
select c1
, sum(c1) over (ORDER BY rowid) as c2
from c1;
订单是一个问题 - 我们无法ORDER BY NULL
。鉴于您的示例不按rowid
排序,我使用了c1
。但是如果你正在进行总计,你必须决定它的运行方式!