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

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

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

想到了个比较复杂的代码,不用窗口函数。
先做了一个第一次购买成功的表,其实也就是上一题,直接拿过来,单独做一个表
然后又做了第二次购买成功的表,其实用了连接和子查询,剔除第一次购买成功的时间后的时间中筛选最小购买时间
两个表连接,查找数据
select a.user_id,a.first_buy_date,b.second_buy_date,a.cunt from
(select user_id,min(date) first_buy_date,count(*) cunt from order_info
where status='completed' and date>'2025-10-15' and product_name in ('C++','Java','Python')
group by user_id
having count(*)>=2) a , (select user_id,min(date) second_buy_date from order_info o1 where date>'2025-10-15' and product_name in ('C++','Java','Python') and status='completed' and
`date` not in (select min(date) from order_info o2
where o2.user_id=o1.user_id and status='completed' and date>'2025-10-15' and product_name in ('C++','Java','Python') ) group by user_id ) b
where a.user_id=b.user_id
order by a.user_id

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 11:30
找工作7个月,投了7000封,3段世界五百强实习,才有一个offer,牛油们肯定比我强吧
码农索隆:不对不对不对,实习经历这么厉害,简历也没少投,问题出在哪呢
点赞 评论 收藏
分享
废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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