题解 | 被重复观看次数最多的3个视频

被重复观看次数最多的3个视频

https://www.nowcoder.com/practice/b75fa2412659422c96369976ee1f9504

-- 第一步:分组统计 + 排名
WITH sub AS (
    SELECT
        p.cid,
        ROUND(COUNT(*) * 1.0, 3) AS pv,
        ROW_NUMBER() OVER (
            ORDER BY COUNT(*) DESC, c.release_date DESC
        ) AS rk
    FROM
        course_info_tb c
    JOIN play_record_tb p
        ON c.cid = p.cid
    GROUP BY
        p.cid,
        p.uid,
        c.release_date
)
-- 第二步:过滤结果并输出
SELECT
    cid,
    pv,
    rk
FROM sub
WHERE pv > 1 AND rk <= 3
ORDER BY rk ASC;


这个还得再看看

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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