Number rows within an ordered partition.

Section: Window Function Basics

Assign row numbers

sql
sql
SELECT order_id, customer_id, created_at,
       ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY created_at DESC) AS rn
FROM orders;
Explanation

ROW_NUMBER is useful for deduping and top-N-per-group queries.

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
Rank rows
Assign ordered rankings with or without gaps.
OpenIn sheetsqlsame section
Compute running total
Accumulate values across an ordered window.
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