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

平均活跃天数和月活人数

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

请计算2021年每个月里试卷作答区用户平均月活跃天数avg_active_days和月度活跃人数mau. 注:此处活跃指有交卷行为。

求月活跃按group by month即可

但是该题有一个难点大部分人都容易出错,那就是计算平均月活天数的公式。

平均月活=该月活跃天数/该月总活跃人数

count(submit_time)/count(distinct uid)

这样是明显错误的,分母没有问题,但是分子是不对的。

举个例子 用户1在某月的一号活跃了两次,二号活跃了三次。那么其实该用户的活跃天数是2天。我们应该使用

count(distinct uid,date(submit_time))

来计算该月的活跃天数。

完整代码如下:

select date_format(submit_time,'%Y%m') as month,
round(count(distinct uid,date_format(submit_time,'%Y%m%d'))/count(distinct uid),2) as mc,
count(distinct uid ) as mau
from exam_record 
where year(submit_time)=2021 
group by month

全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-20 17:12

相关推荐

谁知道呢_:要掉小珍珠了,库库学三年,这个结果
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务