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

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

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

窗口函数分别给出成功购买的次序r 以及总次数cnt。
题目需要的是user_id 第一次和第二次购买的日期 及cnt
故r<=2中 min(date)为第一次 max(date)为第二次

SELECT
a.user_id,
min(a.date) first_buy_date,
max(a.date) second_buy_date,
a.cnt
FROM
(
SELECT
*,
ROW_NUMBER() over(partition by user_id order by date) r,
count(product_name) over(partition by user_id) cnt
from order_info
where status='completed'
and date>'2025-10-15'
and product_name in('C++','Java','Python')
)a
where a.r<=2 and a.cnt>=2
group by 1
order by 1

全部评论

相关推荐

头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
整顿职场的柯基很威猛:这种不可怕,最可怕的是夹在一帮名校里的二本选手,人家才是最稳的。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务