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
)