select er.uid, ROUND(avg(if (er.score is null, 0, er.score)), 0) avg_score, ROUND( avg( if ( submit_time is null, duration, TIMESTAMPDIFF (minute, start_time, submit_time) ) ), 1 ) avg_time_took from exam_record er inner join ( select exam_id, duration from examination_info where difficulty = 'hard' ) ei on er.exam_id = ei.exam_id inner join ( select uid from user_info where level = '0' ) ui on er.uid = ui.uid group by er.uid