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

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

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;


全部评论

相关推荐

不愿透露姓名的神秘牛友
06-12 18:53
第一次听说还有无水工作!!!又是被刷新三观的一天
Lynn012:666第一次听到,你给他说这里不方便我们加个微信
点赞 评论 收藏
分享
05-25 10:45
门头沟学院 Java
Frank_zhang:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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