select uid,round(sum(if(score is null,0,score))/count(*),0) avg_score, round(sum(if(shijian is null,duration,shijian))/count(*),1) avg_time_look from( select t1.uid,t1.exam_id,timestampdiff(minute,t1.start_time,t1.submit_time) shijian,t1.score,duration from exam_record t1 left join examination_info t2 on t1.exam_id = t2.exam_id where t2.difficulty = "hard" and t1.uid in ( select uid from user_info where level = 0 )) t1 group by uid
注意这里将未完成的时长设置为了试卷总时长,未完成的分数设置为了0分