题解 | #平均活跃天数和月活人数#
平均活跃天数和月活人数
https://www.nowcoder.com/practice/9e2fb674b58b4f60ac765b7a37dde1b9
select date_format (submit_time, '%Y%m'), 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 submit_time is not null and year(submit_time) = 2021 group by date_format (submit_time, '%Y%m')
本题难度在于第一group by必须要转换日期格式使用date_format(XX,''),其次计算活跃天数必须要取uid和submite的唯一值,因为有可能同一个id在同一天内考了2次考试,本质就算一天,代码如上