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')
posted @ 2023-02-15 15:25  loongnuts  阅读(35)  评论(0编辑  收藏  举报