取每个用户前两次购买日期:
user_id | ord_date |
11 | 2021-03-01 |
22 | 2021-03-04 |
33 | 2021-03-11 |
44 | 2021-03-04 |
33 | 2021-03-05 |
44 | 2021-03-11 |
33 | 2021-03-07 |
select
user_id,
max(case
when ord_rk = 1 then ord_date
end) as first_ord_date,
max(case
when ord_rk = 2 then ord_date
end) as second_ord_date
from
(
select
user_id,
ord_date,
ord_rk
from
(
select
user_id,
ord_date,
row_number() over(
partition by user_id
order by
ord_date
) ord_rk
from
ord_info_1
) t
where
ord_rk <= 2
) t1
group by
user_id;
运行结果: