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号零点及前的数据