select tag
,concat(round(avg(progress)*100,2),'%') as avg_play_progress
from(
select
a.video_id
,b.tag as tag
,(case when timestampdiff(second,a.start_time,a.end_time)>=b.duration then 1
else timestampdiff(second,a.start_time,a.end_time)/b.duration*1 end) as progress
from tb_user_video_log as a inner join tb_video_info as b
on a.video_id = b.video_id) tt
group by tag
having avg(progress)>0.6
order by avg(progress) desc

京公网安备 11010502036488号