题解 | #牛客的课程订单分析(五)#

牛客的课程订单分析(五)

https://www.nowcoder.com/practice/348afda488554ceb922efd2f3effc427

# 先找到满足条件得记录
with t1 as (
    select user_id, date
    from order_info 
    where date > '2025-10-15'
    and status = 'completed'
    and product_name in ('Python', 'Java', 'C++')
),
t2 as (
    select user_id, min(date) as first_buy_date, count(date) as cnt
    from t1
    group by user_id
    having count(date) >= 2
),
t3 as (
    select user_id, min(date) as second_buy_date
    from t1
    where user_id in (select user_id from t2)
    and date > (
        select first_buy_date
        from t2
        where t2.user_id = t1.user_id
    )
    group by user_id
)
select t2.user_id, first_buy_date, t3.second_buy_date, cnt
from t2, t3
where t2.user_id = t3.user_id
order by user_id;

全部评论
重点考察,怎么找到第二小得日期作为第二次购买日期
点赞 回复 分享
发布于 2023-09-01 14:30 江苏

相关推荐

点赞 评论 收藏
分享
用微笑面对困难:加急通知你不合适,也很吗有礼貌了你。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务