SELECT tag, COUNT(tag) tag_cut FROM exam_record INNER JOIN examination_info USING(exam_id) WHERE uid IN ( SELECT uid FROM exam_record WHERE submit_time IS NOt NULL GROUP BY uid HAVING COUNT(exam_id) / COUNT(DISTINCT DATE_FORMAT(start_time, '%Y%m')) >= 3 ) GROUP BY tag ORDER BY tag_cut DESC;