题解 | #平均播放进度大于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】)