首页 > 解决方案 > oracle如何使用上一行的结果?

问题描述

我需要计算前一行到当前行的值。

Col A | Col B

1     |   1     (A)

2     |   3    (A2+B1)

3     |   6    (A3+B2)

所以B列中的公式是A + (prev B)

这在oracle中可能吗?

标签: sqloracle

解决方案


使用分析功能并实现这一点

create table tst (x number);
insert into tst values (1);
insert into tst values (2);
insert into tst values (3);
insert into tst values (4);
insert into tst values (5);

select x, sum(x) over (order by x) as y from tst;

推荐阅读