题解 | #每类视频近一个月的转发量/率#

每类视频近一个月的转发量/率

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

SELECT tag, 
       SUM(if_retweet) as retweet_cnt,
       ROUND(SUM(if_retweet) / COUNT(*), 3) as retweet_rate
FROM tb_user_video_log
JOIN tb_video_info USING(video_id)
WHERE datediff(date((select max(start_time) from tb_user_video_log)),date(start_time))<=29
GROUP BY tag
ORDER BY retweet_rate DESC;


1.注意为什么不可以直接用MAX(start_time),而要用SELECT MAX(start_time) FROM 表名,这里取的是'当前日期',也就是所有日期里的最大值。如果直接用MAX(start_time),因为同一级查询里有GROUP BY会被按照tag类别进行聚类取影视类别和美食类别各自的start_time最大值。

2.但是疑问为什么(select max(start_time) from tb_user_video_log)外面还要再加一个括号的,求解答

全部评论

相关推荐

09-27 00:29
东北大学 Java
伟大的麻辣烫:查看图片
阿里巴巴稳定性 75人发布 投递阿里巴巴等公司10个岗位
点赞 评论 收藏
分享
shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务