Как вычислить накопительный итог (running total) по значениям столбца?
Уровень: Middle
Ответ
С помощью оконной функции SUM() OVER(). Например, SELECT date, amount, SUM(amount) OVER (ORDER BY date ROWS UNBOUNDED PRECEDING) AS run_total FROM Sales – добавит столбец run_total, где каждая запись содержит сумму текущей и всех предыдущих сумм. В старых версиях SQL без оконных функций можно сделать подзапрос-сумму для каждой строки (с условием <= текущей дате), но это менее эффективно.