题解 | #统计每个学校各难度的用户平均刷题数#

统计每个学校各难度的用户平均刷题数

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去重),最后相除

全部评论

相关推荐

2025-12-27 16:01
重庆大学 Java
蛊界Go学长林剑行:项目部分,不光要展示技术栈的熟练程度,还要有架构意识+产品意识。知道每个业务逻辑落地的成果和技术选型的思考,不然纯炫技是没意义的,毕竟你用的这些技术大概率跟大厂实际项目不垂直,面试官不一定有兴趣
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务