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

平均活跃天数和月活人数

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 实现了去重,确保计算的是唯一的用户和日期组合的数量。

全部评论

相关推荐

流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
07-14 13:47
门头沟学院 Java
Lynn012:你评估好自己的位置了吗《顶尖应届》
投递小米集团等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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