每个创作者每月的涨粉率及截止当前的总粉丝量_牛客题霸_牛客网
- #if_follow是本题的主要指标
- select author,年月,涨粉率,总粉丝量
- from
- (
- select author,年月,涨粉率,
- sum(本月和)over(partition by author order by author,年月) 总粉丝量
- from
- (
- select b.author,a.年月,format(sum(是否关注)/count(*),3) 涨粉率,
- sum(是否关注) 本月和
- from
- (
- select uid,video_id,convert(start_time,char(7)) 年月,
- case
- when if_follow=2 then -1
- else if_follow
- end 是否关注
- from tb_user_video_log
- where convert(start_time,char(7)) like '2021-%'
- ) a
- join
- (
- select video_id,author
- from tb_video_info
- ) b
- on a.video_id=b.video_id
- group by b.author,a.年月
- order by a.年月
- ) c
- ) d
- order by author,总粉丝量
既涉及到分析函数(分组partition by,排序order by)
又涉及到排序的
最好把分析函数用完之后,得到要的东西之后,再单独order by一下
不然分析函数内部要排序,有自己的排序标准,你外面又要排序,多个排序标准,容易乱,一排序排错,就容易导致分析函数得到的结果也是错的。