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

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

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

WITH t1 AS(
SELECT
*,
COUNT(user_id) OVER(PARTITION BY user_id) AS cnt,
DENSE_RANK() OVER(PARTITION BY user_id ORDER BY date) AS rk

FROM order_info

WHERE 
status = 'completed' AND
date > '2025-10-15' AND
product_name IN ('C++','Java','Python'))

SELECT
*

FROM(
    SELECT DISTINCT
    user_id,
    date AS first_buy_date
    
    FROM t1
    
    WHERE rk = '1') AS t2
    
JOIN(
    SELECT DISTINCT
    user_id,
    date AS second_buy_date,
    cnt
    
    FROM t1
    
    WHERE rk = '2') AS t3
    
    USING(user_id)
    
ORDER BY user_id

全部评论

相关推荐

给🐭🐭个面试机会吧:嘿,mvbatis
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务