gpt4 book ai didi

sql - 使用当前和上一行值的 Oracle sql 数学计算

转载 作者:行者123 更新时间:2023-12-04 19:15:31 25 4
gpt4 key购买 nike

我有下表:

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

请检查实际订单(我已经放了 order by id)

关于sql - 使用当前和上一行值的 Oracle sql 数学计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41236981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com