Проблема в том, что ваше окно пусто для первой строки, поэтому sum()
дает null
, который распространяется на результат вычитания.
Вы можете обойти это с помощью coalesce()
:
InitialAmount
- COALESCE(
SUM (Amount) OVER(
PARTITION BY ID
Order By REFERENCE_NUMBER DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
),
0
) AS RUNNING_AMOUNT