题解 | 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;


全部评论

相关推荐

废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务