题解 | #统计每个用户的平均刷题数#
统计每个用户的平均刷题数
http://www.nowcoder.com/practice/f4714f7529404679b7f8909c96299ac4
主要思路
- 使用内连接,可以用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; 