select * from (select exam_id as tid,count(distinct uid) as uv, count(*) as pv from exam_record group by exam_id order by uv desc,pv desc) a union select * from (select question_id as tid,count(distinct uid) as uv, count(*) as pv from practice_record group by question_id order by uv desc,pv desc) b