with merged_table as
(select ui.uid,level,tag,score,release_time,
start_time,submit_time,ei.exam_id as exam_id 
from user_info ui
join exam_record er on er.uid = ui.uid
join examination_info ei on ei.exam_id = er.exam_id
where level >5 and date(submit_time) = date(release_time) and tag = 'SQL')

select exam_id,count(distinct uid) as uv, 
round(sum(score)/count(score),1) as avg_score 
from merged_table
group by exam_id
order by uv desc,avg_score asc