明确几个注意点:

1.count(distinct uid ) as uv 中要有distinct

  1. order by 一定要在最后最后最后用!

3.union联合的结果是乱序的,还需要对tid进行排序

select exam_id  as tid ,count(distinct uid )  as uv ,count(exam_id) as pv from exam_record
group by exam_id
union all

select question_id  as tid,count(distinct uid )  as uv ,count(question_id ) as pv from practice_record
group by  question_id
order by left(tid,1) desc, uv desc,pv desc