值得注意的地方是:

1.计算活用户跃天数时一定要去重,不然有用户一天内会重复登录多次,但此时只能计算一次

count(distinct uid, date(submit_time)) 
  1. 条件如果不加年份,会把2020年的计算出来
submit_time like '2021%'

代码如下

select substr(replace(start_time, '-', ''), 1, 6) as month,
    round(count(distinct uid, date(submit_time)) / count(distinct uid), 2), 
    count(distinct uid)
from exam_record
where submit_time is not NULL and submit_time like '2021%'
group by month