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

各个视频的平均完播率

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
全部评论

相关推荐

数学转码崽:一直给我推,投了又不理,理了又秒挂
点赞 评论 收藏
分享
2024-12-26 13:00
太原理工大学 Java
会飞的猿:简历没啥大问题啊,感觉是缺少了实习经历。多投投先找个中小厂过渡一下吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务