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

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

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

题目难点是

1:要求输出带有%的格式,但是直接用avg输出是小数的格式。

2:如果我们用concat做连接变成%的话,我们最后还要求输出大于60%的数据,但是连接过的字符无法与60%进行直接比较

我们为了解决上面的问题,可以先筛选出来所有大于60%的数据,然后再select一次,对这些数据进行concat连接。

或者在having的时候再使用一次AVG(TIMESTAMPDIFF......)这一块大于60%。

SELECT tag,concat(avg_1,'%') avg_play_progress
FROM
(SELECT tag,round(AVG(if((TIMESTAMPDIFF(second,start_time,end_time)/duration)>1,1,(TIMESTAMPDIFF(second,start_time,end_time)/duration)))*100,2)
AS avg_1
FROM tb_user_video_log JOIN tb_video_info USING(video_id)
GROUP BY tag
HAVING avg_1 > 60) t1
ORDER BY  avg_play_progress desc
全部评论

相关推荐

11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
评论
16
2
分享
牛客网
牛客企业服务