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

这题包括了三个表的连接。

这里是采用join直接将三个表进行连接,需要注意avg_answer_cnt的计算方式应该是将所有的问题数量加起来,除以不同设备的数量。因为一个设备可能会提多个问题,所以要对设备去重。

select 
university, 
difficult_level, 
count(qd.question_id)/count(distinct u.device_id) as 'avg_answer_cnt'

from question_practice_detail as q 
join user_profile as u
on q.device_id = u.device_id 

join question_detail as qd 
on q.question_id = qd.question_id
group by university, difficult_level;


全部评论

相关推荐

12-24 20:52
武汉大学 Java
点赞 评论 收藏
分享
12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
11-07 16:07
深圳大学 运营
前端飞升:学长,阿里不是卡双非吗,我深也能去吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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