select *,sum(month_cnt)over(partition by exam_id order by start_month) as cum_exam_cnt
from 
(select exam_id,date_format(start_time,"%Y%m") as start_month,count(1) as month_cnt
from exam_record
group by exam_id,start_month) t