sql - oracle如何使用上一行的结果?
问题描述
我需要计算前一行到当前行的值。
Col A | Col B
1 | 1 (A)
2 | 3 (A2+B1)
3 | 6 (A3+B2)
所以B列中的公式是A + (prev B)
这在oracle中可能吗?
解决方案
使用分析功能并实现这一点
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;
推荐阅读
- python - 计算 pandas 中跨多个列的字符串实例
- node.js - 为什么 Heroku 仅在我也在本地运行节点 app.js 时才起作用?
- python - Pymongo 对列表的不区分大小写的正则表达式查询
- r - 如何在 R 中的数字系统之间进行转换?
- python - Python Calculator (time) 似乎给出了不正确的答案
- r - 如何在 plot_ly 饼图中删除/更改值中的分隔符?
- c# - 如何使用不同的方法将类中的变量中的数字减少到 0
- vue.js - Vuejs:如何仅从 vuex 存储对象提交特定的表单属性
- r - 尚不支持 dplyr 长向量
- haskell - 在haskell上递归的连续对