SELECT uid,COUNT(uid) exam_complete_cnt
FROM(
SELECT uid,submit_time,
DENSE_RANK() OVER (PARTITION BY uid ORDER BY DATE_FORMAT(start_time,'%Y%m') DESC) month_rank
FROM exam_record
)t1
WHERE month_rank<=3
GROUP BY uid
HAVING COUNT(uid) = COUNT(submit_time)
ORDER BY exam_complete_cnt DESC,uid DESC;

看uid和submit_time是否一致数量。