【鲸析】题解 | #平均活跃天数和月活人数#

平均活跃天数和月活人数

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

select
    date_format(submit_time, '%Y%m') as month,
    round(count(distinct uid, date_format(start_time,"%Y%m%d"))/count(distinct uid),2),
    count(distinct uid) as mau
from exam_record
where YEAR(submit_time)= '2021'
group by 1
  • 公众号:鲸析
  • 小红书:鲸鲸说数据

思路

首先,本题目搞清楚两个指标的计算逻辑,也就是含义,很多同学没捋清楚上来就做,效率就比较低。

限制条件

(1)submit_time的年份是2021

指标解析

(1)月活人数:每个月的uid滤重个数

(2)平均活跃天数:用户的总活跃天数/月活人数

注意点

  1. `date_format(submit_time, '%Y%m')` 是常见的时间转换方法,常用语年月日转换年月,再聚合
  2. `YEAR(submit_time)= '2021'`和extract类似,提取年份的
  3. 为什么是`date_format(start_time,"%Y%m%d")`?因为表格里精确到时分秒了,我们要的颗粒度是天,这里别忘了!
  4. 为什么要`distinct uid, date_format(start_time,"%Y%m%d")`?因为可能多个用户在同一天登录,但是这样我们也要计算多个日期,哪怕此时的`date_format(start_time,"%Y%m%d")`,但是uid不同。

全部评论

相关推荐

但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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