SELECT DISTINCT user_id,first_buy_date,DATE AS second_buy_date,cnt FROM (SELECT * ,COUNT(product_name) OVER(PARTITION BY user_id) AS cnt ,MIN(DATE) OVER(PARTITION BY user_id) AS first_buy_date ,ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY DATE) AS rk FROM order_info WHERE DATE>='2025-10-15' AND STATUS = 'completed' AND product_name IN ('C++','Java','Python') ) AS t1 WHERE cnt>=2 AND rk=2 ORDER BY user_id ASC
对每一个user_id的购买情况进行排序即可