# 先分别设计子查询来查询每个题目和每份试卷被作答的人数和次数并排序 # 然后查询已排序的结果并使用union合并结果 select * from ( select exam_id tid, count(distinct uid) uv, count(*) pv from exam_record group by exam_id order by uv desc, pv desc ) k1 union select * from ( select question_id, count(distinct uid) uv, count(*) pv from practice_record group by question_id order by uv desc, pv desc ) k2
sql执行顺序:
from-on-join-where-group by-having-select-union-order by-limit