tgoop.com/sqlhub/1994
Create:
Last Update:
Last Update:
💡 Полезный SQL-трюк: как получить первую строку в каждой группе — без подзапросов и оконных функций (если они недоступны)
Иногда нужно из каждой группы выбрать одну запись, например, самую раннюю по дате. Если у вас нет оконных функций (например, в старом MySQL), используйте трюк с GROUP BY
и JOIN
:
SELECT t1.*
FROM orders t1
JOIN (
SELECT customer_id, MIN(order_date) AS min_date
FROM orders
GROUP BY customer_id
) t2 ON t1.customer_id = t2.customer_id AND t1.order_date = t2.min_date;
✅ Этот приём вытаскивает первую покупку каждого клиента без оконных функций.
@sqlhub
BY Data Science. SQL hub
Share with your friend now:
tgoop.com/sqlhub/1994