SQL
Calculate a Running Total or Cumulative Sum in SQL
Learn how to compute a running total or cumulative sum for ordered data in SQL using window functions, perfect for financial reports or performance tracking.
SELECT
order_id,
order_date,
amount,
SUM(amount) OVER (ORDER BY order_date, order_id) AS running_total
FROM
Orders
ORDER BY
order_date, order_id;
How it works: This query uses a window function `SUM() OVER (ORDER BY ...)` to calculate a running total. For each row, it sums the `amount` of all preceding rows and the current row, based on the specified order (`order_date` and `order_id`). This is highly useful for tracking cumulative metrics over time, such as sales progression, account balances, or daily accumulated values.