题解 | #统计每个学校的答过题的用户的平均答题数#
统计每个学校的答过题的用户的平均答题数
http://www.nowcoder.com/practice/88aa923a9a674253b861a8fa56bac8e5
解题思路:
1、先统计每个用户的答题数量——count、子查询;
2、用答题用户表左连接学校信息,这样可以把未答过题的用户去掉——left join;
3、按学校分组统计平均答题数量——avg、group by;
4、按学校名称顺序排列——order by。
代码:
select university,avg(new.answer_cnt) avg_answer_cnt
from (select device_id,count(question_id) answer_cnt
from question_practice_detail
group by device_id) new
left join user_profile u
on new.device_id=u.device_id
group by university
order by university;