WITH 
valid_user AS 
(SELECT uid FROM user_info WHERE nick_name REGEXP '^牛客\\d+号$' OR nick_name REGEXP '^\\d+$'),
valid_exam AS
(SELECT exam_id FROM exam_record JOIN examination_info USING(exam_id) WHERE tag LIKE 'C%' OR tag LIKE '%c')

SELECT 
    uid,
    exam_id,
    ROUND(AVG(score)) AS avg_score
FROM 
    exam_record
WHERE 
    uid IN (SELECT uid FROM valid_user)
    AND exam_id IN (SELECT exam_id FROM valid_exam)
    AND score IS NOT NULL
GROUP BY 
    uid,
    exam_id
ORDER BY 
    uid,
    avg_score