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

平均活跃天数和月活人数

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

关键代码:

distinct的作用范围是uid, date_format (submit_time, '%y%m%d')) ,而不只是uid这一列!

题目要求的是计算天数,考虑到一个用户在一天里可能会有多个活跃时间,如果是按照count(submit_time)的话,计算的是用户的活跃次数,而不是活跃天数。

round(count(distinct uid, date_format (submit_time, '%y%m%d')) / count(distinct uid),2) as avg_active_days

# 知识点:DATE_FORMAT(date, format)
# 4、活跃定义:有submit_time is not null(where筛选条件1)
# 1、2021年每个月:按照年月分组(group by),筛选2021年(where筛选条件2)
# 2、用户平均月活跃天数计算:整个所有用户月活跃的天数总和 / 活跃的用户数(去重)
# 3、月度活跃人数计算:这个月活跃的用户数(去重) count(distinct uid)


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)
from exam_record
where year(submit_time) = 2021 and submit_time is not null
group by date_format(submit_time,"%Y%m")

全部评论

相关推荐

优秀的大熊猫在okr...:多益:此贼,必有同谋,按律,该当连坐!
你不能接受的企业文化有哪...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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