select o2.id,o2.user_id,o2.product_name,o2.status,o2.client_id,o2.date
from (select *, count(*)over(partition by user_id) as num
     from order_info
     where date > '2025_10_15'
     and status = 'completed'
     and product_name in ('C++','Java','Python')) o2
where o2.num >= 2
order by id;