Section: OVER clause fundamentals

Explicit ROWS frame

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

Use `ROWS` when you want frame boundaries to follow row positions rather than peer groups.

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 OVER clause fundamentals
Exclude the current row from a frame
Compare a row against all earlier rows only.
OpenIn sheetsqlsame section
Count all rows without collapsing them
Return total row count on every row.
OpenIn sheetsqlsame section
Aggregate within a partition
Compute a per-customer total on every row.
OpenIn sheetsqlsame section
Assign row numbers inside each partition
Number rows in order within each customer.
OpenIn sheetsqlsame section
Reuse a named window
Avoid repeating a long window definition.
OpenIn sheetsqlsame section
Use RANGE for peer-aware frames
Group rows that share the same ordering value.
OpenIn sheetsqlsame section