select t1.tag,concat(round(avg(t1.avg_play_progress)*100,2),'%')  from (
select v1.tag
,if(timestampdiff(second,u1.start_time,u1.end_time) > v1.duration,1,timestampdiff(second,u1.start_time,u1.end_time)/v1.duration) as avg_play_progress 
from tb_user_video_log as u1 left join tb_video_info as v1 on u1.video_id=v1.video_id ) t1 
group by t1.tag having avg(t1.avg_play_progress)>0.6 order by avg(t1.avg_play_progress) desc