select
user_id,
date as first_buy_date,
cnt
from
(
select
*,
count(product_name) over (partition by user_id) as cnt,
row_number() over (partition by user_id order by date) as buy_date_rank
from
order_info
where
status = 'completed'
and product_name in ('C++', 'Java', 'Python')
and date > '2025-10-15'
) a
where cnt >= 2 and buy_date_rank = 1
order by
user_id

京公网安备 11010502036488号