题解 | #每月及截止当月的答题情况#
每月及截止当月的答题情况
https://www.nowcoder.com/practice/1ce93d5cec5c4243930fc5e8efaaca1e
# mau、新增用户数、 最大新增用户数、 累计用户数
# 新增用户数标记
with table1 as(
select *,date_format(start_time,'%Y%m') as start_month,
if(start_time = MIN(start_time)over(partition by uid),1,0) as if_new
from exam_record
)
select start_month,
count(distinct uid) as mau,
sum(if_new) as month_add_uv,
max(sum(if_new))over(order by start_month) as max_month_add_uv,
sum(sum(if_new))over(order by start_month) as cum_sum_uv
from table1
group by start_month
order by start_month
# 注意点:执行顺序是先执行group by 然后再执行窗口函数max()over()