with t1 as (select author,
                   substr(end_time, 1, 7)            as mon,
                   count(if(if_follow = 1, 1, null)) as addfensi,
                   count(if(if_follow = 2, 1, null)) as subfensi,
                   count(1)                          as tol
            from tb_user_video_log t1
                     join tb_video_info t2
                          on t1.video_id = t2.video_id
            where substr(end_time, 1, 4) = 2021
            group by substr(end_time, 1, 7), author)
select author,
       mon,
       round((addfensi - subfensi) / tol, 3)  as fans_growth_rate,
       sum(addfensi - subfensi)
           over (partition by author order by mon,addfensi,subfensi  ) as total_fans
from t1 order by author,total_fans;