SELECT uid,nick_name,achievement
FROM user_info ui
WHERE nick_name LIKE '牛客%号'
AND achievement BETWEEN 1200 AND 2500
AND uid IN
    (SELECT DISTINCT uid
     FROM(
         SELECT uid,MAX(DATE_FORMAT(start_time,'%Y%m')) 
         OVER(PARTITION BY uid) AS rn
         FROM( 
             SELECT uid,start_time FROM exam_record
             UNION ALL
             SELECT uid,submit_time AS start_time
             FROM practice_record
             )t1
         )t2
     WHERE rn=202109
     )