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

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

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

SELECT author
     , DATE_FORMAT(start_time,'%Y-%m')                                                   AS month
     , ROUND(SUM(CASE if_follow WHEN 1 THEN 1
                                WHEN 2 THEN -1
                                       ELSE 0
                 END) / COUNT(start_time),3)                                             AS fans_growth_rate
     #计算出每个月涨粉率,用CASE WHEN把2转换成-1,然后相加就计算出了每月粉丝量,count(start_time)计算出每月播放量,不会计算NULL值
     , SUM(SUM(CASE if_follow WHEN 1 THEN 1
                              WHEN 2 THEN -1
                                     ELSE 0
               END)) OVER (PARTITION BY author ORDER BY DATE_FORMAT(start_time,'%Y-%m')) AS total_fans
     #用sum()over()计算出每人每月总粉丝量,这里可以用到上面的每月粉丝量
FROM tb_user_video_log JOIN tb_video_info USING (video_id)
WHERE YEAR(start_time) = '2021'
GROUP BY author, DATE_FORMAT(start_time,'%Y-%m')
ORDER BY author, total_fans;


全部评论

相关推荐

2025-11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
2025-11-26 11:32
已编辑
好未来_go开发(实习员工)
不服输的咸鱼很聪明:还给打电话呀,我的没给我打电话呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务