select
id
,is_group_buy
,client_name 
from
(
    select
    o.id
    ,is_group_buy
    ,name client_name 
    ,count(*)over(partition by user_id) cnt 
    from order_info o
    left join client c on o.client_id = c.id
    where date > '2025-10-15'
    and status = 'completed'
    and product_name in ('C++','Java','Python')
) a
where cnt>=2
order by 1