题解 | #各个视频的平均完播率#
各个视频的平均完播率
https://www.nowcoder.com/practice/96263162f69a48df9d84a93c71045753
SELECT tvi.video_id, ROUND( SUM(IF((tuv.end_time - tuv.start_time) >= tvi.duration,1,0)) / COUNT(tvi.video_id), 3 ) avg_comp_play_rate FROM tb_video_info tvi LEFT JOIN tb_user_video_log tuv ON tvi.video_id = tuv.video_id WHERE YEAR(tuv.start_time) = 2021 GROUP BY tvi.video_id ORDER BY avg_comp_play_rate DESC;
1.左连,有可能有视频一次播放记录都没有
2.计算完播视频有几条
3.题目是统计2021年有播放记录,不是视频发布时间在2021年