sql
sql
题目描述
有一个订单信息表(order_info),请你写出一个sql语句查询在2025-10-15以后,
同一个用户下单2个以及2个以上状态为购买成功的C++课程或Java课程或Python课程的订单信息,并且按照order_info的id升序排序
思路
使用窗口函数选出数量为2以及以上的user_id,然后通过user_id再进行查询满足条件的数据
代码
select
*
from
order_info
where
user_id in (
select
user_id
from
order_info
where
date > '2025-10-15'
AND status = 'completed'
AND product_name IN ('C++', 'Java', 'Python')
group by
user_id
having
count(id) >= 2
)
AND date > '2025-10-15'
AND status = 'completed'
AND product_name IN ('C++', 'Java', 'Python')