思路:
第一,每个学校,各难度,涉及到对university,difficult_level利用GROUP BY分组实现;
第二,用户平均答题数=所有用户答题总数/所有用户数,分母所有用户涉及到COUNT(DISTINCT ...)对登录设备账号进行剔重【由于存在一个设备账号多次登录的情况】,分子所有用户答题总数涉及COUNT()对question_id进行计数,不需要剔重;
第三,需要对三个表进行联结FROM ...JOIN...ON...JOIN...ON...。
SELECT u.university, q2.difficult_level, COUNT(q.question_id)/count(DISTINCT q.device_id) AS avg_answer_cnt FROM user_profile as u JOIN question_practice_detail as q ON u.device_id=q.device_id JOIN question_detail as q2 ON q.question_id=q2.question_id GROUP BY u.university,q2.difficult_level;