SQL
Calculate Running Totals Per Group using SQL Window Functions
Utilize SQL window functions with `SUM() OVER (PARTITION BY ... ORDER BY ...)` to efficiently compute cumulative sums or running totals for data within distinct categories or groups.
SELECT
order_id,
customer_id,
order_date,
total_amount,
SUM(total_amount) OVER (PARTITION BY customer_id ORDER BY order_date) AS customer_running_total
FROM
orders
ORDER BY
customer_id, order_date;
How it works: This snippet demonstrates a powerful use of SQL window functions to calculate a running total per group. The `SUM(total_amount) OVER (PARTITION BY customer_id ORDER BY order_date)` clause computes the cumulative sum of `total_amount` for each `customer_id`, ordered by `order_date`. This allows you to see a customer's total spending grow over time, isolating the calculation to each customer independently without self-joins or subqueries, making it highly efficient for analytical reporting.