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

平均活跃天数和月活人数

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

select 
    date_format(submit_time,'%Y%m') as month_date,
    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 date_format(submit_time,'%Y') = 2021
group by month_date

执行顺序:where子句对检索结果中每一条记录第一次过滤后,group by对每条记录进行分组, having对各个组中的记录进行再次过滤 。 因此是先通过where子句过滤、再通过group by子句分组、最后通过having子句对组中记录再次进行过滤。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务