WITH t1 AS(
SELECT tag, dt
        ,SUM(like_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS sum_like_cnt_7d
        ,MAX(retweet_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS max_retweet_cnt_7d
FROM(
    SELECT tag
        ,DATE(start_time) AS dt
        ,SUM(if_like) AS like_cnt
        ,SUM(if_retweet) AS retweet_cnt
    FROM tb_video_info
    JOIN tb_user_video_log USING(video_id)
    WHERE start_time BETWEEN "2021-09-25" AND "2021-10-04"
    GROUP BY tag, dt
) data1
)

SELECT *
FROM t1
WHERE dt BETWEEN "2021-10-01" AND "2021-10-03"
ORDER BY tag DESC, dt

  • start_time BETWEEN "2021-09-25" AND "2021-10-04",使用该函数时必须设置为"2021-10-04",不能是"2021-10-03",因为涉及到日期时间与日期判断包含关系时,日期自动被补充为:日期 00:00,因此设置为"2021-10-04",筛选4号零点及前的数据