select
record.exam_id,
count(distinct record.uid) as uv,
round(avg(record.score),1) as avg_score
from examination_info exam
join exam_record record
on (exam.exam_id=record.exam_id)
join user_info user
on (record.uid=user.uid)
where exam.tag='SQL'
and user.level>5
group by record.exam_id
order by uv desc, avg_score asc
select
exam_id,
count(distinct uid) as uv,
round(avg(score),1) as avg_score
from exam_record
where uid in (
select uid from user_info where level>5
)
and exam_id in (
select exam_id from examination_info where tag='SQL'
)
group by exam_id
order by uv desc, avg_score asc;