题解 | SQL22 统计每个学校的答过题的用户的平均答题数

SQL22,明显感觉到连接多表之后,题目的难度开始上升。

这个同样是那张图片,用inner join来连接两张表。

但这里,我们需要知道一个device_id可以一对多对应多个question_id。我们在连接得到的新表中,device_id必定是会冗余的,所以我们需要对它去重。去重的关键字是distinct。去完重之后再来统计数据。

select university, count(question_id)/ count(distinct t1.device_id) as 'avg_answer_cnt'
from user_profile as t1 right join question_practice_detail as t2
on t1.device_id = t2.device_id 
group by university; 
全部评论

相关推荐

不愿透露姓名的神秘牛友
12-10 15:21
华为-媒体院 算法 n*16 硕士985
点赞 评论 收藏
分享
昨天 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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