SELECT order_info_ext.user_id AS user_id, MIN(date) AS first_buy_date, COUNT(*) AS cnt FROM ( SELECT *, COUNT(*) OVER(PARTITION BY user_id) AS cnt FROM order_info WHERE date > '2025-10-15' AND product_name IN ('C++', 'Java', 'Python') AND status = 'completed' ) AS order_info_ext WHERE order_info_ext.cnt >= 2 GROUP BY order_info_ext.user_id