题解 | 每类视频近一个月的转发量/率
每类视频近一个月的转发量/率
https://www.nowcoder.com/practice/a78cf92c11e0421abf93762d25c3bfad
-- 需求:统计在有用户互动的最近一个月(按包含当天在内的近30天算,比如10月31日的近30天为10.2~10.31之间的数据)中,每类视频的转发量和转发率(保留3位小数)。 -- 需求拆解如下: -- 1、使用max与date函数获取互动表中的最大日期; -- 2、使用date_sub来获取最大日期对应的最近一个月 -- 3、使用sum与avg分别计算转发量与转发率 ,再使用round函数对结果保留3位小数 -- 4、使用group by对类别进行分组 select tag ,sum(if_retweet) as retweet_cnt ,round(sum(if_retweet)/count(start_time),3) as retweet_rate from tb_user_video_log t1 left join tb_video_info t2 on t1.video_id = t2.video_id where datediff((select date(max(end_time)) from tb_user_video_log),date(start_time)) <= 29 group by tag order by retweet_rate desc