每个学校用户不同难度下的用户平均答题题目数
1、分析题目:
①每个学校、不同难度:以学校名称和难度分类
order by u.university and qd.difficult_level
②平均答题数目=总答题数目/答题人数
coun(q.result)/count(distinct(q.device_id))
2、观察对本题有用信息
user_profile中有用信息:
unviersity(用于分组)
device_id(用于与question_practice_detail关联)


question_practice_detail中有用信息:
device_id(用于与question_practice_detail关联)
qusetion_id(用于与question_detail关联),
result(用于计数答题数目)


question_detail中有用信息:
question_id(用于与question_practice_detail关联),difficult_level(用于分组)


3、分析本题易错点
由于结果需要三个表中的多列数据,因此进行关联
注:由于计算平均答题数的数据均来源于question_practice_detail,因此在联结时候应保全该表,以该表为本体联结另外两张表​
关联:
question_practice_detail AS q ​
LEFT JOIN
user_profile AS u​
ON u.device_id=q.device_id
INNER JOIN question_detail AS qd
ON q.question_id=qd.question_id

总程序:

SELECT
u.university,
qd.difficult_level,
count(q.question_id)/count(distinct(q.device_id)) AS avg_answer_cnt
FROM question_practice_detail AS q
LEFT JOIN user_profile AS u
ON u.device_id=q.device_id
LEFT JOIN question_detail AS qd
ON q.question_id=qd.question_id
GROUP BY u.university, qd.difficult_level;