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