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

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

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

# 比较复杂,用了好几个子查询
# select d.user_id, first_buy_date, second_buy_date, cnt
# from
#  (
#     select distinct b.user_id, first_buy_date, cnt
#     from
#         (
#             select  *,
#             min(date)over(partition by user_id) first_buy_date,
#             count(user_id)over(partition by user_id) cnt
#             from order_info
#             where 
#             date >= '2025-10-15'
#             and status = 'completed'
#             and product_name in ('C++','Java','Python')
#         ) b
#   ) d
# ,
# (
#     select distinct c.user_id, date second_buy_date
#     from
#         (
#         select user_id,date,
#         rank()over(partition by user_id order by date) rankdate
#         from order_info
#         where 
#         date >= '2025-10-15'
#         and status = 'completed'
#         and product_name in ('C++','Java','Python')
#         ) c
#     where rankdate = 2
# ) e

# where cnt >=2 and d.user_id = e.user_id
# order by d.user_id

select user_id,
    min(date) as first_buy_date,
    min(下一个日期) as second_buy_date,
    max(次数) as cnt
from (
    select *,
        row_number() over(partition by user_id order by date) as 次数,
        lead(date,1) over(partition by user_id order by date) as 下一个日期
    from order_info
    where date>'2025-10-15'
    and status='completed'
    and product_name in ('Python','Java','C++')
    order by user_id) as t
group by user_id
having count(*)>=2
order by user_id
#优雅解法

全部评论

相关推荐

03-13 21:15
江南大学 Java
多少分能进面啊?卡测评吗?做的我道心破碎了💔
小南瓜_66:A3 第四道题为什么用例过了 结果显示0%
投递携程等公司10个岗位 > 携程求职进展汇总
点赞 评论 收藏
分享
02-25 11:29
产品经理
牛客444597598号:兄弟 我只能说如果想找产品经理这种简历 基本就是毕业失业了 你这连实习都找不到的 简历跟产品经理一点都没有关系,你可以去搜搜产品的模版吧
点赞 评论 收藏
分享
神哥不得了:神哥来啦~自我评价和校园经历的话可以直接删了,从大厂暑期的话应该没有什么太多问题,应该是能拿到很多大厂面试机会的,就是在面试的时候表示的好一点就行,可以在面试前先把高频top 50的八股多巩固几遍,千万不要看那些假高频八股,这两个项目的话问题不是很大,应该能够帮你找到大厂实习的,算法的话一定要刷起来,因为大厂有些还是比较看重算法的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务