select distinct concat(year(submit_time),lpad(month(submit_time),2,'0')) month, round(count(distinct uid,date_format(submit_time, '%y%m%d'))/ #sum(if(submit_time is not null,1,0) 也行,但不能通过实例2; count(distinct if(submit_time is not null,uid,null)),2) avg_active_days, count(distinct if(submit_time is not null,uid,null)) mau from exam_record where year(submit_time)='2021' group by month;
count(a,b)可理解为按a分组再count(b)
date_format()时间格式化;%m意味输出0x月,带0,如03月。