[英]Cummulative sum in report
大家好,
我正在做一份报告,在其中进行计算:
让我们以第一行为例。 在其余的先前列中,我们有15,在采用列中,我们有0.5,因此在其余列中,我们有14.5。
现在的问题是在剩余字段中使用结果并将其传输到剩余的先前列中的下一行。 因此,我们应该拥有14.5,而不是拥有14。
有没有人从事类似的工作,并指导我如何进行这项工作? 我真的很想学习如何解决这个问题。
ANSI标准lag()
函数可以完全满足您的要求。 SQL表表示无序集,因此我需要假设您有一些列(我将其称为id
)用于标识行的顺序。
lag()
的语法为:
select t.*, lag(Remaining) over (order by 1) as prevRemaining
from table t;
如果您的数据库不支持ANSI标准窗口功能,则使用子查询可以获得相同的效果。 但是,不同数据库之间的语法可能略有不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.