题解 | #统计每个用户的平均刷题数#
统计每个用户的平均刷题数
https://www.nowcoder.com/practice/f4714f7529404679b7f8909c96299ac4
select university,qd.difficult_level,round(count(qpd.question_id)/count(distinct qpd.device_id),4) from user_profile as up left join question_practice_detail as qpd on up.device_id = qpd.device_id and up.university = "山东大学" join question_detail as qd on qd.question_id = qpd.question_id group by university,qd.difficult_level;
大家如果要用左连接,应该用user用户表当作左连接的表,而不是用qpd细节表当左连接的表。因为使用左连接,基于user用户表的左连接就只会出现用户表中已有的数据,若是基于qpd细节表的左连接,会出现所有细节表中的数据(哪怕数据不存在用户表中,也会自动填充none值)