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

select a.cid,sum(a.cishu),row_number() over(order by sum(a.cishu) desc,max(c.release_date) desc) rk
from (
    select p.cid cid,p.uid,count(*) cishu
    from play_record_tb p 
    group by cid,uid
    having count(*)>1
) a
left join course_info_tb c on c.cid=a.cid
group by a.cid
order by sum(a.cishu) desc
limit 3




全部评论
max(日期),分组查询中不能直接使用非聚合字段(如 c.release_date),使用 MAX(c.release_date) 的原因是:即使一个课程可能有多个观看记录,release_date 是固定的,用 MAX() 不会影响结果,同时满足 SQL 的语法规则。
点赞 回复 分享
发布于 01-20 00:23 福建

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务