码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Sql多表查询


    目录

    • 1、子查询
      • 浙江大学用户题目回答情况
    • 2、链接查询
      • 统计每个学校的答过题的用户的平均答题数
      • 统计每个学校各难度的用户平均刷题数
      • 统计每个用户的平均刷题数
    • 3、组合查询
      • 查找山东大学或者性别为男生的信息

    1、子查询

    浙江大学用户题目回答情况

    现在运营想要查看所有来自浙江大学的用户题目回答明细情况,请你取出相应数据。

    select
        qpd.device_id,
        qpd.question_id,
        qpd.result
    from
        question_practice_detail as qpd
        inner join user_profile as up on up.device_id = qpd.device_id
        and up.university = '浙江大学'
    order by
        question_id
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    select
        device_id,
        question_id,
        result
    from
        question_practice_detail
    where
        device_id in (
            select
                device_id
            from
                user_profile
            where
                university = '浙江大学'
        )
    order by
        question_id
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    2、链接查询

    统计每个学校的答过题的用户的平均答题数

    运营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。

    select
        university,
        count(question_id) / count(distinct qpd.device_id) as avg_answer_cnt
    from
        question_practice_detail as qpd
        inner join user_profile as up on qpd.device_id = up.device_id
    group by
        university
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    运营想要计算一些参加了答题的不同学校、不同难度的用户平均答题量,请你写SQL取出相应数据。

    //每个学校:按学校分组group by university
    //不同难度:按难度分组group by difficult_level
    //平均答题数:总答题数除以总人数count(qpd.question_id) / //count(distinct qpd.device_id)
    //来自上面信息三个表,需要联表,up与qpd用device_id连接,
    //qd与qpd用question_id连接。
    //平均值精度:保留4位小数round(x, 4)
    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    统计每个用户的平均刷题数

    运营想要查看参加了答题的山东大学的用户在不同难度下的平均答题题目数,请取出相应数据。

    SELECT
        t1.university,
        t3.difficult_level,
        COUNT(t2.question_id) / COUNT(DISTINCT (t2.device_id)) as avg_answer_cnt
    from
        user_profile as t1,
        question_practice_detail as t2,
        question_detail as t3
    WHERE
        t1.university = '山东大学'
        and t1.device_id = t2.device_id
        and t2.question_id = t3.question_id
    GROUP BY
        t3.difficult_level;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    3、组合查询

    查找山东大学或者性别为男生的信息

    现在运营想要分别查看学校为山东大学或者性别为男性的用户的device_id、gender、age和gpa数据,请取出相应结果,结果不去重。

    select
        device_id,
        gender,
        age,
        gpa
    from
        user_profile
    where
        university = '山东大学'
    union all
    select
        device_id,
        gender,
        age,
        gpa
    from
        user_profile
    where
        gender = 'male'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    内存管理——C++
    sql中如何添加数据
    C++智能指针简介
    01贪心:算法理论知识
    远程连接wsl
    Chromium Canvas工作流
    【已解决】Maven更改本地默认仓库时遇到的问题。 No implementation for org.apache.maven.model.path
    Python进阶教程:pandas数据分析实践示例总结
    【React Hooks&Redux--学习小结】
    aws服务器配置密码登陆
  • 原文地址:https://blog.csdn.net/MANONGMN/article/details/138161342
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号