with fliter_order_info as (
    select 
        *
    from 
        order_info
    where 
        (date > '2025-10-15')
    and 
        (status = 'completed')
    and 
        (product_name in ('C++','Java','Python'))
),

id_needed as (
    select
        user_id
    from 
        fliter_order_info
    group by 
        user_id
    having 
        count(user_id) >= 2
)

select 
    f_o_i.*
from    
    fliter_order_info as f_o_i
inner join 
    id_needed as i_n
on 
    f_o_i.user_id = i_n.user_id
order by 
    f_o_i.id