分析思路

题目:计算不同学校、不同难度的用户平均答题量

1.分组---按照 学校,难度 分组

group by t1.university,t3.difficult_level

2.多表连接: 三表连接 注意连接条件

user_profile t1 join question_practice_detail t2 on t1.device_id = t2.device_id join question_detail t3 on t2.question_id = t3.question_id

3.计算平均答题量

count(*)/count(distinct t1.device_id)

先计算每个学校每个难度的答题总数,再计算有多少人参与答题

4.细节:round()保留四位小数,起别名

解题思路

select t1.university,t3.difficult_level,
round(count(*)/count(distinct t1.device_id),4) avg_answer_cnt
from user_profile t1 join question_practice_detail t2
on t1.device_id = t2.device_id
join question_detail t3
on t2.question_id = t3.question_id
group by t1.university,t3.difficult_level;