题解 | #平均播放进度大于60%的视频类别#

平均播放进度大于60%的视频类别

http://www.nowcoder.com/practice/c60242566ad94bc29959de0cdc6d95ef

先将每个用户每个视频的播放进度统计出来 再按类别划分求他们的进度大于60%的类别

犯了1个错误:

1.我觉得最关键的是没有仔细看注释,只看了问题,导致没有进度没有写得更充分,也导致> 0.6写的1是>=0.6 这就导致了另一个错误,就是:

> =号分开写了,这样语句的含义就发生了歧义 也导致写完了代码却没有排序


select vi.tag,
       concat(round(avg(t1.jd) * 100 ,2),'%') as avg_play_progress
from 
(
	 select video_id,
            if(timestampdiff(second,vl.start_time,vl.end_time) / vi.duration > 1,1,timestampdiff(second,vl.start_time,vl.end_time) / vi.duration) as jd
	 from tb_user_video_log vl
	 join tb_video_info vi using(video_id)
) t1
join tb_video_info vi using(video_id)
group by vi.tag
having avg(t1.jd) > 0.6
order by avg_play_progress desc
全部评论
点赞 回复 分享
发布于 2022-03-20 17:04

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务