我正在尝试用这样的东西创建一个累积值
KEY1 Date_ VAL1 CUMU_VAL2
K1 D1 1 0
K1 D2 1 1
K1 D3 0 2
K1 D4 1 0
K1 D5 1 1
因此,问题基本上是在 VAL1 中的前一行的基础上继续在 CUMU_VAL2 列中将值加 1,但是当 VAL1 列中的前一个值为零时,此总和会重置。基本上,如果你在 excel 中这样做,那么 Cell(D3) 的公式是
D3 = IF(C2>0, D2+1, 0)
我相信我应该能够做到这样,但是当先前的值为零时如何添加案例然后重置总和?
SELECT
a1.*,
SUM(a1.VAL1) OVER (PARTITION BY a1.KEY1 ORDER BY a1.Date_ ) AS CUMU_VAL2
FROM source_table a1