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

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

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学习 文章被收录于专栏

个人学习的一些小总结

全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务