题解 | #每类视频近一个月的转发量/率#
每类视频近一个月的转发量/率
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)外面还要再加一个括号的,求解答