# 先找到满足要求的用户id with t1 as ( select user_id, count(id) as cnt from order_info where date >= '2025-10-15' and status = 'completed' and product_name in ("C++", "Java", "Python") group by user_id having cnt >= 2 )# 找到没开始的一次购买日期 select t1.user_id, a.first_buy_date, t1.cnt from t1 left join ( select user_id, min(date) as first_buy_date from order_info where user_id in (select user_id from t1) and date >= '2025-10-15' and status = 'completed' and product_name in ("C++", "Java", "Python") group by user_id ) as a on t1.user_id = a.user_id order by t1.user_id;