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

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

https://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8

select university,difficult_level,count(b.device_id)/count(distinct b.device_id) as avg_answer_cnt
from user_profile a,question_practice_detail b,question_detail c
where a.device_id=b.device_id and b.question_id	=c.question_id and b.question_id is not NULL 
group by university,difficult_level;

这道题主要是他问了你一句,参加了答题的,当我们把三张表自然连接在一起时,用户信息表当中有些用户并没有答题,你将三张表连在一起时,其新表元组中关于这个用户的答题ID是没有的,所以说我们新表中要删除答题ID为null的元组,这样出现的表再进行分组,各组将答过题的用户数量的和,除以去过重后的用户个数,要得到的就是平均答题量,然后按照答案要求进行select,选列,重命名。

全部评论

相关推荐

EEbond:给北邮✌️跪了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务