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

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

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

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

1、timestampdiff函数,用于计算时间戳函数之间的时间差,可以进行单位的限制。例如:timestampdiff(second,start_time,end_time)

2、concat函数

3、需要注意的点是不能直接avg(播放时长/duration),播放时长大于 duration的时候完播率均为1

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 11:45
你不要过来啊啊啊啊啊啊啊
码农索隆:对面:“今天你不面也得面”
点赞 评论 收藏
分享
07-10 11:08
门头沟学院 Java
投递京东等公司9个岗位
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务