select tag,
concat(round(avg(case when timestampdiff(second, start_time, end_time)>=duration then 1 else timestampdiff(second,start_time,end_time)/duration end)*100,2),'%') avg_play_progress
from tb_user_video_log tl left join tb_video_info ti on tl.video_id = ti.video_id
group by tag
having avg(timestampdiff(second,start_time,end_time)/duration)*100>60
order by avg_play_progress desc