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

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

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

select t2.user_id,first_buy_date,second_buy_date,cnt from(
    
(select user_id,min(date) first_buy_date,count(*) cnt from order_info
where product_name in ("C++","Java","Python")
and status = "completed"
and date > "2025-10-15"
group by user_id
having count(*) >= 2
order by user_id) as t2

left join 

(select t1.user_id uid,date second_buy_date from
(select id,user_id,dense_rank()over(partition by user_id order by date) ranking from order_info
where product_name in ("C++","Java","Python")
and status = "completed"
and date > "2025-10-15"
) as t1 inner join order_info oi on t1.id = oi.id and ranking = 2) as t3
on t2.user_id = t3.uid
)

order by t2.user_id

自己想的比较复杂了,一会看看评论区的简单解法再做一遍,但好歹是自己写的,发出来记录一下

全部评论

相关推荐

就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位 >
点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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