题解 | #每个创作者每月的涨粉率及截止当前的总粉丝量#

每个创作者每月的涨粉率及截止当前的总粉丝量

https://www.nowcoder.com/practice/d337c95650f640cca29c85201aecff84

这个题比较简单,只注意一下只统计2021年的数据,我提交没注意到2021错了一次。

层次从内向外

第一层:join 两张表,过滤掉不需要的数据,然后分组,分组的时候可以直接计算出fans_growth_rate,同时计算出monthTotalFans,这个是这个月增加的粉丝数量,在第二层开窗统计需要用到。

第二层,开个窗,统计截止到当前月份用户的粉丝数量。

题目中描述还是清晰,明确,但是并没有说明一点,是否存在跳跃月份的问题

#2021  每个创作者,每个月

select
    c.author,
    c.month,
    c.fans_growth_rate, 
    sum(c.monthTotalFans) over(partition by c.author order by c.month) as total_fans
from 
(
    select

    a.author,
    date_format(b.start_time,"%Y-%m") as month,
    format(sum(case when b.if_follow = 1 then 1 when b.if_follow = 2 then -1 else 0 end)/count(1),3) as fans_growth_rate,
    sum(case when b.if_follow = 1 then 1 when b.if_follow = 2 then -1 else 0 end) as monthTotalFans
    from tb_video_info a join tb_user_video_log b on a.video_id = b.video_id and year(b.start_time)=2021

    group by a.author,date_format(b.start_time,"%Y-%m")
) c
order by c.author, total_fans

全部评论

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务