SELECT uid,
    ROUND(AVG(score), 0) AS avg_score,
    ROUND(AVG(cost_time), 1) AS avg_time_took
FROM (
    SELECT uid,
        IF(submit_time IS NOT NULL, 
           TIMESTAMPDIFF(MINUTE, start_time, submit_time), 
           duration) AS cost_time,
        IF(score IS NOT NULL, score, 0) AS score
    FROM examination_info
        JOIN exam_record
        USING(exam_id)
        JOIN user_info
        USING(uid)
    WHERE difficulty = 'hard' AND level = 0
)adjust_table
GROUP BY uid