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

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

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

这题运用了许多的函数:

  1. Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END (注释:列名,这里是sex,如果放在when后,若是不为整个CASE WHEN语句写个别名的话,则显示在屏幕上的列名即为整个CASE WHEN语句)

case when"" then“” else“其他” end #结束

2.因为是百分比格式,所以要用拼接函数concat

3.时间差函数语法:timestampdiff(interval, datetime1,datetime2)
结果:返回(时间2-时间1)的时间差,结果单位由interval参数给出。

名称 含义
second
minute 分钟
... ...
select tag,#百分比格式,使用拼接函数concat
concat(round(avg(case when timestampdiff(second,start_time,end_time)>=duration  then 1
                 #timestampdiff时间差函数,second表示秒
                 #case when then else end
    else timestampdiff(second,start_time,end_time)/duration end)*100,2),'%') as avg_play_progress 
from tb_user_video_log t
inner join tb_video_info f
on t.video_id = f.video_id
group by tag
having avg_play_progress > 60
order by avg_play_progress desc
全部评论

相关推荐

评论
2
1
分享

创作者周榜

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