我有下表:
ID A B C 1 1 23 22 2 2 19 20 3 5 18 15 4 3 12 12
列A和B是常量.我想使用以下公式计算C列:
为第一排
C = B - A
之后
C = prevIoUs(C) - A
我想只使用oracle sql来实现这一点.
解决方法
如果你把数据放在
A B C a1 b1 b1 - a1 == b1 - a1 a2 b2 c1 - a2 == b1 - a1 - a2 a3 b3 c2 - a3 == b1 - a1 - a2 - a3 a4 b4 c3 - a4 == b1 - a1 - a2 - a3 - a4 ... an bn cn-1 - an == b1 - a1 - a2 - ... - an
select A,B,first_value(B) over(order by id) - sum(A) over (order by id) C from myTable
请检查实际订单(我按ID排序)