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

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

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

-- 计算各类视频的平均播放进度,将进度大于60%的类别输出
-- 播放进入= 播放时长/视频时长*100% ,当播放时长大于视频时长时,播放进入记录为100% 
-- 保留两位小数
select 
tag 
,concat(round(avg(if(timestampdiff(second,start_time,end_time) > duration,1,timestampdiff(second,start_time,end_time)/duration))*100,2),'%') as avg_play_progress
from tb_user_video_log a 
join tb_video_info b 
on a.video_id = b.video_id 
group by tag 
having replace(avg_play_progress,'%','') > 60 
order by avg_play_progress desc 




注意细节,以及以下几个语句的用法

对结果保留两位小数 可以使用round(数值,2) 也可以使用 format(数值,2)

concat(str1,str2,......)把多个字符链接在一起

concat_ws(separator, str1, str2, ...) 使用分隔符将多个字符链接在一起

replace('带操作的字符串','被换掉的内容'【要换的内容,可写可不写默认为null】)

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务