主要思路
- 使用内连接,可以用where语句或者inner join
- 注意where语句要先筛选‘山东大学’
- 注意 表格列名含义 如
device_id
指学生的ID,question_id
是题目的ID
注意要和题目里的answer_cnt
的区别
SELECT u.university,qd.difficult_level,
count(qp.question_id) / count(distinct qp.device_id) as avg_as
FROM user_profile u,question_practice_detail qp , question_detail qd
WHERE u.device_id=qp.device_id
AND qp.question_id=qd.question_id
AND u.university='山东大学'
GROUP BY u.university,qd.difficult_level;
SELECT university,d.difficult_level,
count( q.question_id )/count(DISTINCT q.device_id) avg_ans_cnt
FROM user_profile u
INNER JOIN question_practice_detail qp
ON u.device_id = qp.device_id
INNER JOIN question_detail qd
ON qd.question_id = qp.question_id
WHERE u.university = '山东大学'
GROUP BY qd.difficult_level;