题解 | #统计每个学校的答过题的用户的平均答题数#
统计每个学校各难度的用户平均刷题数
http://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8
- 通过两次左连接拿到所有答题记录的数据列
- 然后通过学校和题目难度进行分组
- count(question_id)计算出各学校答题总数,count( distinct device_id) 计算出各学校不同的学生总数,二者相除得到各学校的平均答题数
select university,difficult_level,count(question_id)/count( distinct device_id) as avg_answer_cnt
from
(
select A.device_id,A.question_id,A.university,q.difficult_level from
(select d.device_id,d.question_id,u.university
from question_practice_detail d LEFT JOIN user_profile u ON d.device_id = u.device_id
)A left join question_detail q on A.question_id = q.question_id
)B
group by university,difficult_level