题解 | #各个视频的平均完播率#

各个视频的平均完播率

http://www.nowcoder.com/practice/96263162f69a48df9d84a93c71045753

记录一下每题的题解和思路,本题主要需要注意需要的数据是2021年,同时count里嵌套if可以解决group by之后不能使用where的问题

SELECT t1.video_id,round(t2.finish/t1.total,3) avg 
from(SELECT video_id,COUNT(if(YEAR(end_time)=2021,video_id,null)) as total FROM tb_user_video_log JOIN tb_video_info USING(video_id)
GROUP BY video_id) t1
LEFT JOIN 
(SELECT video_id,COUNT(if (TIMESTAMPDIFF(second,start_time,end_time)>=duration and YEAR(end_time)=2021,video_id,null) )as finish 
FROM tb_user_video_log  JOIN tb_video_info  USING(video_id)
GROUP BY video_id) t2
USING(video_id)
order by avg desc
全部评论
where 优先分组,where运行的顺序在group by 前面,where 在分组前过滤数据
点赞 回复 分享
发布于 2022-08-24 21:32 广东

相关推荐

秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
当初高考报计算机真是造大孽了啊!卷的飞起!哪都是计算机的人,考研,考公,找工作全他奶的计算机的人,太难了。国企也是。关键一届比一届卷,造大孽了!
_Lyrics_:因为计算机,没有体验到快乐的大学研究生时光,好不容易修完课程就要出去实习,看着别人专业可以一起搓麻将,游山玩水,而我却要自己一个人住在北上不到十平米的出租屋,每天两点一线
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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