Сумма нарастающим итогом в sql

Я пытаюсь вставить столбец промежуточных сумм в таблицу SQL Server как часть хранимой процедуры. Мне это нужно для финансовой базы данных, поэтому я имею дело со счетами и отделами. Например, допустим, у меня есть этот набор данных:

Account |  Dept  |   Date     |   Value  | Running_Total
--------+--------+------------+----------+--------------
 5000   |  40    | 2018-02-01 |     10   |      15
 5000   |  40    | 2018-01-01 |     5    |      5
 4000   |  40    | 2018-02-01 |     10   |      30
 5000   |  30    | 2018-02-01 |     15   |      15
 4000   |  40    | 2017-12-01 |     20   |      20

Столбец Running_Total предоставляет историческую сумму дат, меньшую или равную значению даты каждой строки. Однако для этого учетная запись и отдел должны совпадать.

Я смог приблизиться, используя

SUM(Value) OVER (PARTITION BY Account, Dept, Date) 

но он не возвращается и получает предыдущие месяцы...

Есть идеи? Спасибо!


person johankent30    schedule 17.04.2019    source источник


Ответы (1)


Вы близко. Вам нужен order by:

Sum(Value) over (partition by Account, Dept order by Date)
person Gordon Linoff    schedule 17.04.2019