SQL
Calculate Running Total with Self-Join
Learn how to compute a cumulative sum or running total for your data using a SQL self-join. This technique is valuable for financial analysis and trend tracking.
SELECT
a.order_date,
a.order_amount,
SUM(b.order_amount) AS running_total
FROM
orders a
JOIN
orders b ON a.order_date >= b.order_date
GROUP BY
a.order_date, a.order_amount
ORDER BY
a.order_date;
How it works: This query calculates a running total by joining the `orders` table with itself. For each row `a`, it sums the `order_amount` from all rows `b` where `b.order_date` is less than or equal to `a.order_date`, effectively providing a cumulative sum for each date.