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