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

平均活跃天数和月活人数

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

# select CONCAT(YEAR(start_time), LPAD(MONTH(start_time), 2, '0')) AS month,
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 avg_active_days,	
 COUNT(distinct uid) AS mau
FROM exam_record
WHERE YEAR(start_time) = 2021 AND submit_time is NOT NULL
GROUP BY month 

COUNT(distinct uid,date_format(submit_time, '%y%m%d') 里面相当于 or 对两个条件计数

同一年月日同一个用户算一次记录

比如,当两条记录的年月日相同,只是时间不同,用户id也相同,但是一个是上午交卷,一个是下午交卷,这只能算是一条记录,

distinct uid 实现了去重,确保计算的是唯一的用户和日期组合的数量。

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 14:18
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务