题目描述:sql语句查询在2025-10-15以后,如果有一个用户下单2个以及2个以上状态为购买成功的C++课程或Java课程或Python课程,那么输出这个用户的user_id,以及满足前面条件的第一次购买成功的C++课程或Java课程或Python课程的日期first_buy_date,以及购买成功的C++课程或Java课程或Python课程的次数cnt,并且输出结果按照user_id升序排序。
个人思路:没什么好说的,按照条件一个一个来就行。记着where子句后面不能加聚合函数。

select user_id, 
       min(date) as first_buy_date,
       count(*) as cnt

from order_info

where datediff(date,"2025-10-15")>0
      and status="completed"
      and product_name in ("C++","Java","Python")

group by user_id
having count(user_id)>1
order by user_id