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

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

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

SELECT * FROM (
SELECT S1.cid,SUM(cnt) AS pv,ROW_number() OVER (ORDER BY SUM(cnt) DESC,release_date DESC) AS rk FROM 
(SELECT T1.release_date,T2.uid,T2.cid,COUNT(T2.cid) AS cnt 
FROM course_info_tb T1 LEFT JOIN play_record_tb T2 ON T1.cid = T2.cid 
GROUP BY T1.release_date,T2.uid,T2.cid HAVING cnt > 1) S1 
GROUP BY S1.cid,release_date) S2 WHERE rk < 4;

容易错的知识点:

  • only_full_group_by 规则要求:在包含聚合函数(如 SUM)的查询中,SELECT 列表中的非聚合列必须:出现在 GROUP BY 子句中,或被聚合函数包裹(如 MAX(cid))

改错的点:

方法一:release_date 用MAX()转化,包装成聚合函数

方法二:将release_date作为GROUP BY 的参数

全部评论

相关推荐

04-06 16:59
已编辑
河南工业大学 Java
牛牛牛的牛子:最好扔了,实在没有选择的选择
点赞 评论 收藏
分享
刘湘_passion:太强了牛肉哥有被激励到
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务