select
    t1.user_id,
    min(t1.date) first_buy_date,
    count(*) cnt
from 
    order_info t1
where 
    t1.status = 'completed' 
    and t1.product_name in ('C++','Java','Python')
    and t1.date > '2025-10-15'
group by
    t1.user_id
having
    count(t1.user_id) > 1
order by
    t1.user_id