题解 | #统计每个用户的平均刷题数#
统计每个用户的平均刷题数
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;