题解 | #平均活跃天数和月活人数#

平均活跃天数和月活人数

https://www.nowcoder.com/practice/9e2fb674b58b4f60ac765b7a37dde1b9

做完看了下评论区,使用窗口函数的较少,刚好我是用的窗口函数,在此分享下思路。
本题要难点包括如下几个:
1.从给出的时间中提取年月,这里可以使用date_format()函数;
2.计算每月总的活跃活跃天数,这里我犯了一个失误,数据中可能存在一个用户一天有多次成功提交的记录,导致活跃天数虚高,这里在计算活跃天数时需要依据用户id、提交日期进行去重;
3.计算每月活跃用户,这里同样是要对用户id去重计数
同样还有如下几个细节需要注意:
1、活跃用户是有成功提交记录的,要剔除submit_time为空的数据;
2、本题仅筛选2021年的数据,筛选时也要予以限制;
3、题目要求保留两位小数,此处可使用round()函数。
select month,round(active/mau,2) avg_active_days,mau from
(select date_format(submit_time,'%Y%m') month,count(distinct uid,date_format(submit_time,'%Y%m%d')) active,count(distinct uid) mau from exam_record 
where submit_time is not null and YEAR(submit_time) = 2021
group by month) t


全部评论

相关推荐

04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务