1. 明确从两张表的内连接中取数
2. 思考如何计算平均答题数:
  • 相关数据:university, device_id, question_id
  • 想一下连接后生成的表的形式:university重复最多,其次是device_id,再次是没有重复的question_id
  • 以university分组,每个university的question_id的总数量除以其device_id的不重复数量就是最终的平均答题数
3. 最后需要注意以university为基准进行升序排列

SELECT university, 
    COUNT(qpd.question_id) / COUNT(DISTINCT qpd.device_id)
        AS avg_answer_cnt
FROM question_practice_detail AS qpd
    INNER JOIN user_profile AS up
        ON qpd.device_id = up.device_id
GROUP BY university
ORDER BY university ASC