IntermediateCTEs & Recursive
CTE for deduplication using ROW_NUMBER
The query
SQL
WITH ranked AS (
SELECT
*,
ROW_NUMBER() OVER (
PARTITION BY email
ORDER BY created_at DESC
) AS rn
FROM customers
)
SELECT * FROM ranked WHERE rn = 1;Note
“CTE + ROW_NUMBER is the standard deduplication pattern. Keeps latest record per duplicate group.