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 t1 join tb_video_info t2 on t1.video_id = t2.video_id group by tag having avg(if(timestampdiff(second,start_time,end_time) >= duration,1,timestampdiff(second,start_time,end_time)/duration)*100) > 60 order by avg_play_progress desc