with tiaojian as ( select uid from exam_record group by uid having count(submit_time)/count(distinct month(submit_time))>=3 ) select tag, count(tag) as tag_cnt from tiaojian t inner join exam_record ed on t.uid=ed.uid inner join examination_info ef on ef.exam_id=ed.exam_id group by tag order by tag_cnt desc