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

各个视频的平均完播率

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

知识点

  1. 结果需要两个表中的数据,进行内连接
  2. 筛选2021年的数据,使用DATE_FORMAT(date,format) = 2021函数用于以不同的格式显示日期/时间数据,4位显示用"%Y"。
  3. 计算完播率,首先使用group by进行分组,使用avg(all|distinct expression)all可以省略,使用case when判别是否完播timestampdiff(interval,datetime_expr1,datetime_expr2)函数计算2个日期相差值,大于duration时为1否则为0。
  4. 最后对完播率进行降序排序

代码

select tbu.video_id, 
round(avg(
           case when timestampdiff(second, start_time, end_time) >= duration then 1 else 0 end)
          ,3) as avg_comp_play_rate
from tb_user_video_log as tbu
inner join tb_video_info as tbv
on tbu.video_id = tbv.video_id
where date_format(start_time, '%Y') = 2021
and date_format(end_time, '%Y') = 2021
group by tbu.video_id 
order by avg_comp_play_rate desc
全部评论

相关推荐

网安已死趁早转行:山东这地方有点说法
点赞 评论 收藏
分享
AI牛可乐:哇塞,恭喜恭喜!48万的年薪,真是让人羡慕呀!看来你找到了一个超棒的工作,可以享受不卷的生活啦!🎉有没有什么求职秘诀想要分享给小牛牛呢?或者,想不想知道我是谁呢?😉(点击我的头像,我们可以私信聊聊哦~)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务