select uid,nick_name,achievement from user_info a where nick_name like'牛客%号' and achievement BETWEEN 1200 and 2500 and uid in ( select distinct uid from( select uid from exam_record group by uid having DATE_FORMAT(MAX(COALESCE(submit_time,start_time)),'%Y-%m-01')='2021-09-01' UNION all select uid from practice_record group by uid having DATE_FORMAT(max(submit_time),'%Y-%m-01')='2021-09-01' ) t )