SELECT 
tag,
CONCAT(ROUND(avg(IF(TIMESTAMPDIFF(second,start_time,end_time)>duration,1,TIMESTAMPDIFF(second,start_time,end_time)/duration))*100
,2),'%') as avg_play_progress
FROM tb_user_video_log join tb_video_info USING (video_id)
GROUP BY video_id
HAVING avg(IF(TIMESTAMPDIFF(second,start_time,end_time)>duration,1,TIMESTAMPDIFF(second,start_time,end_time)/duration)
)>0.6
ORDER BY avg_play_progress desc