题意:参加了答题的山东大学的用户在不同难度下的平均答题题目数
分解:
- 由山东大学的用户,知: university=‘山东大学’
- 由不同难度,知: group by difficult_level
- 由平均答题数,知: count(question_id)/count(distinct(device_id))
- 共涉及到三张表 user_profile u,question_practice_detail q,question_detail qd
给表取别名,可以用: 表名 as 别名 或者 表名 别名
其中 u 与 q 可通过 device_id 关联查询,
q 与 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 q #以question_practice_detail表作为中间连接表
join user_profile u #内关联第一张表
on u.device_id=q.device_id and u.university='山东大学' #查询条件
join question_detail qd #关联第二张表
on q.question_id=qd.question_id #查询条件
group by qd.difficult_level #分组