tgoop.com/sqlhub/2001
Create:
Last Update:
Last Update:
🔥SQL ТРЮК: Как выбрать первые N строк в каждой группе
Вот полезный трюк: используем функцию роз намбер с патришн бай чтобы нумеровать строки внутри каждой группы, а потом фильтруем по номеру.
Ты получишь первые два события для каждого пользователя. Можно легко адаптировать под «топ‑пять товаров в каждой категории.
Этот трюк работает в большинстве современных СУБД, поддерживающих оконные функци
sql
WITH ranked AS (
SELECT
user_id,
event_time,
event_type,
ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY event_time ASC
) AS rn
FROM user_events
)
SELECT *
FROM ranked
WHERE rn <= 2;
📌 Этот запрос выберет первые 2 события *по каждому пользователю*. Просто, чисто и кросс‑совместимо — работает в PostgreSQL, MySQL 8+, SQL Server и других.
https://www.youtube.com/shorts/X5CJn1eLW20
@sqlhub
BY Data Science. SQL hub
Share with your friend now:
tgoop.com/sqlhub/2001