Добрый день!
Есть таблица order: id | customer_id | created | category_id
Есть запрос select customer_id, date_trunc('day', min(«order».created)) as created from «order» group by 1
Он исправно выбирает те данные, которые надо, собственно, айди юзера с минимальной датой его заказа.
Необходимо вытащить еще category_id
То есть
select customer_id, date_trunc('day', min(«order».created)) as created, category_id from «order» group by 1,3
такой запрос дает побочные строки, надо выбрать category_id того заказа, у которого min(«order».created)
Подскажете как?
выбрать category_id того заказа, у которого min(«order».created)
select customer_id, created, category_id
from
(select customer_id, date_trunc('day', «order».created) as created, category_id
,row_number() over (partition by customer_id order by date_trunc('day', «order».created)) rn
from «order»)s
where rn = 1
select distinct on(customer_id) customer_id,category_id,date_trunc('day', min(created)) as createdon from testtable group by customer_id,category_id order by customer_id,createdon