题解 | 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; 
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务