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

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

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

select 
    user_id,
    max(CASE WHEN  rn_001 = 1 THEN date ELSE 0 END) AS first_buy_date,
    max(CASE WHEN  rn_001 = 2 THEN date ELSE 0 END) AS second_buy_date,
    count(product_name)
from(
select a.*,ROW_NUMBER() OVER (PARTITION BY user_id  ORDER BY date ) rn_001
from(
select a.*,count(product_name) OVER (PARTITION BY user_id)num
from order_info a
where date >'2025-10-15'
and product_name in('Java','Python','C++')
and status ='completed')a
where num>=2)b
group by user_id

利用窗口函数计算排名 并用case when 进行排名筛选

全部评论

相关推荐

迷茫的大四🐶:价格这么低都能满了?
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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