如果行数值大于当前行,我想获取列中所有值的总和
所以如果我有4行:
第1行是第2、3和4行的总和
第2行是第3行和第4行的总和
第3行将是第4行的值
第4行为0
这是我当前拥有的查询:
SELECT
no_,
name AS member,
amount,
effective,
balance
FROM c
WHERE
status != 'closed'
AND amount != 0.00
ORDER BY no_, effective
在我的ssrs表中,我使用表达式RowNumber(“ member”)为每个成员的每一行分配行号
答案 0 :(得分:1)
您似乎想要一个相反的累积和,不包括当前值。我可以这样表示:
select sum(val) over (order by rownum desc) - val
我很清楚这与您的查询有何关系。
您也可以使用窗框来表达这一点:
select sum(val) over (order by rownum rows between 1 following and unlimited following)
唯一的区别是,它将在最后一行返回NULL
,而不是0
。