题解 | #统计每个学校各难度的用户平均刷题数#
统计每个学校各难度的用户平均刷题数
https://www.nowcoder.com/practice/5400df085a034f88b2e17941ab338ee8
# 限定条件:无
# 每个学校:按照学校分组group by university
# 不同难度:按难度分组group by difficult_level
# 平均答题数:总答题数除以总人数count(qpd.question_id) / count(distinct qpd.device_id)
# 来自上面信息三个表,需要联表,up与qpd用device_id连接,qd与qpd用question_id连接。
#法一
select
university,
difficult_level,
round(
count(qpd.question_id) / count(distinct u.device_id),
4
) as avg_answer_cnt
from
user_profile as u,
question_practice_detail as qpd,
question_detail as qd
where
u.device_id = qpd.device_id
and qpd.question_id = qd.question_id
group by
university,
difficult_level
# 法二
select
university,
difficult_level,
round(
count(qpd.question_id) / count(distinct qpd.device_id),
4
) as avg_answer_cnt
from
question_practice_detail as qpd
left join user_profile as up on up.device_id = qpd.device_id
left join question_detail as qd on qd.question_id = qpd.question_id
group by
university,
difficult_level
SQL学习 文章被收录于专栏
个人学习的一些小总结