- 先理解题目意思:有播放记录的视频的id号和其完播率。条件是:2021年和根据其完播率降序排序。
- 拆解复杂指标:这里需要拆解的是完播率这个指标
注意:记得加上题目的限制条件
答案如下:
SELECT a.video_id ,
round(sum(if(end_time - start_time >= duration, 1, 0))/count(start_time ),3) as 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;