SQL Window Functions and CTEs/Compute running total

Accumulate values across an ordered window.

Section: Window Function Basics

Compute running total

sql
sql
SELECT order_id, created_at, amount,
       SUM(amount) OVER (ORDER BY created_at ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_total
FROM orders;
Explanation

Running totals are common in finance and time-series analysis.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Window Function Basics
Assign row numbers
Number rows within an ordered partition.
OpenIn sheetsqlsame section
Rank rows
Assign ordered rankings with or without gaps.
OpenIn sheetsqlsame section
Average within partition
Compute metrics per partition while keeping each row.
OpenIn sheetsqlsame section
Use LAG
Read a value from the previous row in the same partition.
OpenIn sheetsql1 tag match
Bucket rows with NTILE
Divide ordered rows into a fixed number of groups.
OpenIn sheetsql1 tag match
Use LEAD
Read a value from the next row in the same partition.
OpenIn sheetsql1 tag match