with a as( select tvi.tag, date(tuvl.start_time) as dt, tuvl.if_like, tuvl.if_retweet from tb_user_video_log as tuvl left join tb_video_info as tvi on tuvl.video_id = tvi.video_id where date(tuvl.start_time) between '2021-09-25' and '2021-10-03' ), b as( select tag, dt, sum(if_like) as day_like, sum(if_retweet) as day_retweet from a group by tag,dt ), c as ( select tag,dt, sum(day_like)over(partition by tag order by dt rows 6 preceding) as sum_like_cnt_7d, max(day_retweet)over(partition by tag order by dt rows 6 preceding) as max_retweet_cnt_7d from b ), d as( select * from c where dt between '2021-10-01' and '2021-10-03' order by tag desc, dt asc ) select * from d