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

使用当前行和上一行值进行Oracle sql数学计算,第1张

概述我有下表: ID A B C1 1 23 222 2 19 203 5 18 154 3 12 12 列A和B是常量.我想使用以下公式计算C列: 为第一排 C = B - A 之后 C = previous(C) - A 我想只使用oracle SQL来实现这一点. 如果你把数据放在 A B C a1 b1 我有下表:

ID  A   B   C1   1   23  222   2   19  203   5   18  154   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排序)

总结

以上是内存溢出为你收集整理的使用当前行和上一行值进行Oracle sql数学计算全部内容,希望文章能够帮你解决使用当前行和上一行值进行Oracle sql数学计算所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1164643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存