除数和被除数直接用count计数,不要期待select出完整的结果来算,这样就复杂化了
看看

除法也可以尽量用round包起来做

SELECT DATE_FORMAT(submit_time,'%Y%m')MONTH,
ROUND(COUNT(DISTINCT uid,DATE_FORMAT(submit_time,'%Y%m%d'))/COUNT(DISTINCT uid),2)avg_active_days,
COUNT(DISTINCT uid)mau
from exam_record
WHERE year(submit_time)=2021
GROUP BY MONTH