select er.uid,
round(avg(if(er.score IS NOT NULL, er.score, 0)), 0) as avg_score,
# 错误:round(if(er.score IS NOT NULL, avg(TIMESTAMPDIFF(minute, er.start_time, er.submit_time), ei.duration)), 1) as avg_time_took
round(avg(if(er.score IS NOT NULL, TIMESTAMPDIFF(minute, er.start_time, er.submit_time), ei.duration)), 1) as avg_time_took
from exam_record as er
left join examination_info as ei on er.exam_id = ei.exam_id
where ei.difficulty = 'hard'
and er.uid in (select uid from user_info where level = 0)
group by er.uid;