SELECT b.user_id,MIN(b.date) AS first_buy_date,(
SELECT MIN(a.date)
FROM order_info AS a
WHERE a.user_id=b.user_id AND a.date> MIN(b.date) AND a.status='completed' AND a.product_name IN ('C++','Java','Python')
) AS second_buy_date,COUNT() AS cnt
FROM order_info AS b
WHERE b.date>'2025-10-15' AND b.status='completed' AND b.product_name IN ('C++','Java','Python')
GROUP BY b.user_id
HAVING COUNT(
)>=2
ORDER BY b.user_id

先找到第一次购买成功日期,以及总个数,再找到排除首日购买后的最小日期;