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

WITH t1 AS (
    SELECT
           cid,
           uid,
           count(cid) AS pv
    FROM play_record_tb
    GROUP BY uid, cid
    HAVING pv >= 2
),
t2 AS (
    SELECT t1.cid,
           t1.pv,
           ROW_NUMBER()
               over (ORDER BY t1.pv DESC,
                   release_date DESC) AS rk
    FROM t1
    LEFT JOIN course_info_tb a
    ON t1.cid = a.cid
)SELECT cid,
        CONCAT(pv,'.000') AS pv,
        rk
        FROM t2
WHERE rk <= 3;

# 这道题的关键在于concat拼接零,以及ROW_NUMBER排名,不能有重复排名!

全部评论

相关推荐

废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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