当前位置:网站首页>SQL156 各个视频的平均完播率

SQL156 各个视频的平均完播率

2022-07-23 12:45:00 Yuki_1999

/*
计算2021年里、有播放记录的每个视频、的完播率(结果保留三位小数),并按完播率降序排序

思路:找到处理的最小单位,从底到上书写代码,再加上限制
1、拆解定语,找到核心修饰:完播率
2、完播率=完播次数/总播放次数
——>完播次数:结束观看时间-开始播放时间>=视频时长的用户数,视为完播
            end_time-start_time>=duration
            **完播记为1,未完播为0,所有1相加即为完播次数
            sum(if(end_time-start_time>=duration,1,0))
——>总播放次数:出现start_time为一次播放
            count(start_time)

知识点:if函数,sum函数,左连接,round函数,year函数
1、left join on+条件
2round(a,3)保留三位小数
*/


select a.video_id,round(sum(if(end_time-start_time>=duration,1,0))
                        /count(start_time),3) avg_comp_play_rate
from tb_user_video_log a
left join tb_video_info b
on a.video_id=b.video_id
where year(start_time)=2021
group by a.video_id
order by avg_comp_play_rate desc
原网站

版权声明
本文为[Yuki_1999]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_40939631/article/details/125935409