思路:①先分组聚合算出每月答题数目;②用sum窗口函数算累加数 select *, sum(c)over(partition by exam_id order by start_month) from( select exam_id, date_format(start_time,'%Y%m') start_month, count(start_time) c from exam_record group by exam_id, date_format(start_time,'%Y%m')) as tb1