Часто нужно взять только первую запись из каждой группы (например, последние покупки клиентов).
Мало кто знает, что это можно сделать без подзапросов с помощью
ROW_NUMBER().
SELECT *
FROM (
SELECT
customer_id,
order_id,
order_date,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date DESC) AS rn
FROM orders
) t
WHERE rn = 1;
🔎 Здесь
ROW_NUMBER() нумерует строки внутри каждой группы customer_id. rn = 1 оставляет только самую свежую запись по каждому клиенту.