第一种:
select *
from order_info
where user_id in (select distinct user_id from order_info where date>'2025-10-15' and status='completed' and product_name in ('C++','Python','Java')
group by user_id having count(*)>=2) and date>'2025-10-15' and status='completed' and product_name in ('C++','Python','Java')

第二种:
with t as
(select * from order_info where date>'2025-10-15' and status='completed' and product_name in ('C++','Python','Java'))
select *
from t
where user_id in (select user_id from t group by user_id having count(*)>=2)