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

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

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

全部评论

相关推荐

Yki_:以下条件优先录用: 喜欢去缅北当猪仔的
点赞 评论 收藏
分享
04-30 15:51
已编辑
上海交通大学 机械工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务