这个比较好看。 select date_format(start_time,"%Y%m"), round( count(distinct date(submit_time),uid)/count(distinct case when score is not null then uid end),2) as avg_active_days , count(distinct case when score is not null then uid end) from exam_record where year(start_time)=2021 group by date_format(start_time,"%Y%m")