题解 | #统计每个学校各难度的用户平均刷题数#
统计每个学校各难度的用户平均刷题数
http://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8
分析思路
题目:计算不同学校、不同难度的用户平均答题量
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;