SQLHUB Telegram 1994
💡 Полезный 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
😁13👍97🔥3👎1



tgoop.com/sqlhub/1994
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

With Bitcoin down 30% in the past week, some crypto traders have taken to Telegram to “voice” their feelings. The Channel name and bio must be no more than 255 characters long Clear Unlimited number of subscribers per channel Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment.
from us


Telegram Data Science. SQL hub
FROM American