select info.tag,concat ( round(avg(if(timestampdiff(second,log.start_time,log.end_time)>=info.duration,100, timestampdiff(second,log.start_time,log.end_time)*100/info.duration)),2) ,'%') as avg_play_progress from tb_video_info as info right outer join tb_user_video_log log on info.video_id = log.video_id group by info.tag having avg(timestampdiff(second,log.start_time,log.end_time)*100/info.duration)>60 order by avg_play_progress desc