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

平均活跃天数和月活人数

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

select date_format(Date,'%Y%m') as month
,round(count(uid)/count(distinct uid),2) as avg_active_days
,count(distinct uid) as mau
from(select uid, date_format(submit_time,'%Y%m%d') as Date
from exam_record
where date_format(submit_time,'%Y%m%d') is not null and year(submit_time) = 2021
group by uid,date_format(submit_time,'%Y%m%d')) as d_active_record
group by date_format(Date,'%Y%m')

题目:请计算2021年每个月里试卷作答区用户平均月活跃天数avg_active_days和月度活跃人数mau。

上一题的第二种解法。

解析:

一、先找出每个用户在2021年每天的活跃情况(根据用户和年月日进行分组),用子查询表示,做主查询的from 子句部分。

二、根据子查询,再次对子查询结果按年月分组,即可得到每月有哪些用户在哪些天活跃了。根据这个情况对每月的用户总活跃天数计算,其中用户在每月出现一次即为活跃一次,如1001在7月2号出现一次,活跃一次,1002分别在7月2号和7月5号出现,活跃两次,将两者的出现的行数(即uid的行数)相加则得到7月用户活跃总次数。

全部评论

相关推荐

一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务