# 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
踩的坑:,没有加分页关键字,导致全部按日期来分了,忽略了类别

京公网安备 11010502036488号