题解 | #统计每个学校各难度的用户平均刷题数#
统计每个学校各难度的用户平均刷题数
https://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8
#学校表、答题表、题库表 #计算不同学校、不同难度的用户平均答题量 #学校表中有id没有答题,将学校表和题库表链接到答题表——统计答题表 #统计每个学校、每个难度的总答题数/答题总人数(去重) select university,c.difficult_level,count(a.question_id)/count(distinct a.device_id) as avg_answer_cnt #学校表链接到答题表,排除未答题id from (select device_id,question_id from question_practice_detail)a left join (select device_id,university from user_profile)b on a.device_id=b.device_id #题库表链接到答题表 left join (select question_id,difficult_level from question_detail)c on a.question_id=c.question_id #按学校、难度分组计算 group by university,difficult_level order by university
先将三个表链接在一起,都链接在答题表上,顺便排除掉未答题的id。
在连接后的总表上通过学校、难度分组计算。
通过答题id统计总答题数,然后通过设备id统计答题总数(用distinct去重),最后相除

查看16道真题和解析