题解 | #国庆期间每类视频点赞量和转发量#
国庆期间每类视频点赞量和转发量
https://www.nowcoder.com/practice/f90ce4ee521f400db741486209914a11
# 2021年的国庆前三天的每类视频,这三天中每一天的近一周总点赞数和一周内最大单天转发数 # 先根据限制条件筛选数据,2021年国庆前三天的,还有国庆前一周的,到9.25 # 再得到每类视频每一天的点赞数和转发数(求和即可) # 总点赞数由累加开窗函数的rows控制窗口是7天,单天最大使用最大函数和控制窗口 WITH temp_0 AS ( SELECT tag, DATE_FORMAT(end_time, "%Y-%m-%d") dt, SUM(if_like) like_cnt, SUM(if_retweet) retweet_cnt FROM tb_user_video_log JOIN tb_video_info USING(video_id) WHERE DATE_FORMAT(end_time, "%Y-%m-%d") BETWEEN '2021-09-25' AND '2021-10-03' GROUP BY tag, dt ) SELECT * FROM( SELECT tag, dt, SUM(like_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS 6 PRECEDING), MAX(retweet_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS 6 PRECEDING) FROM temp_0 ) a WHERE MONTH(dt) = 10 ORDER BY tag DESC, dt
踩的坑:,没有加分页关键字,导致全部按日期来分了,忽略了类别