select tuvl.video_id, round(sum(if(tuvl.end_time - tuvl.start_time >= tvi.duration,1,0)) / COUNT(start_time),3) AS avg_comp_play_rate FROM tb_user_video_log AS tuvl LEFT JOIN tb_video_info AS tvi on tuvl.video_id = tvi.video_id where year(start_time) = 2021 group by video_id order by avg_comp_play_rate DESC
select tuvl.video_id, round(count(if(tuvl.end_time - tuvl.start_time >= tvi.duration,1,null)) / COUNT(start_time),3) AS avg_comp_play_rate FROM tb_user_video_log AS tuvl LEFT JOIN tb_video_info AS tvi on tuvl.video_id = tvi.video_id where year(start_time) = 2021 group by video_id order by avg_comp_play_rate DESC
count只有在值null时才不算上这一条记录
count(if(tuvl.end_time - tuvl.start_time >= tvi.duration,1,null)) count(if(tuvl.end_time - tuvl.start_time >= tvi.duration,1,0)) #错误的