WITH a AS ( SELECT tag, DATE_FORMAT(start_time, '%Y-%m-%d' ) AS dt, COUNT(CASE WHEN if_like = 1 THEN l.id END) AS like_cnt, COUNT(CASE WHEN if_retweet = 1 THEN l.id END) AS retweet_cnt FROM tb_user_video_log l JOIN tb_video_info USING(video_id) WHERE DATE_FORMAT(start_time, '%Y-%m-%d') BETWEEN DATE_SUB('2021-10-01', INTERVAL 6 DAY) AND '2021-10-03' GROUP BY tag, dt) , b 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 a GROUP BY tag, dt ORDER BY tag DESC, dt ) SELECT * FROM b WHERE dt between '2021-10-01' AND '2021-10-03' #2021, between 10-01 and 10-03, group by tag, date, # SUM(if_like) OVER (PARTITION BY tag ORDER BY date) # MAX(if_retweet) OVER (PARTITION BY)一周内最大单天转发量