码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • sql之每日五题day02--多表联查/聚合函数/多值判断/函数


    sql之每日五题day01--多表联查/聚合函数

      • where和group by同时出现
      • 分别查看&结果不去重--union all
      • union all+细节别名
      • case when多值判断
      • 数据处理函数

    where和group by同时出现

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

    仅查看山东大学的用户在不同难度下的每个用户的平均答题题目数

    在这里插入图片描述

    select  university,	difficult_level,	count(qpd.question_id)/count(distinct qpd.device_id) 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
    where university='山东大学'	
    group by difficult_level
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    分别查看&结果不去重–union all

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

    分别查看学校为山东大学或者性别为男性的用户的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

    union all+细节别名

    • SQL26 计算25岁以上和以下的用户数量

    现在运营想要将用户划分为25岁以下和25岁及以上两个年龄段,分别查看这两个年龄段用户数量
    本题注意:age为null 也记为 25岁以下

    select '25岁以下' as age_cut,	count(1) as number
    from user_profile
    where age < 25 or age is null
    union all
    select '25岁及以上' as age_cut,	count(1) as number
    from user_profile
    where age >= 25
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    case when多值判断

    • SQL27 查看不同年龄段的用户明细

    现在运营想要将用户划分为20岁以下,20-24岁,25岁及以上三个年龄段,分别查看不同年龄段用户的明细情况,请取出相应数据。(注:若年龄为空请返回其他。)

    • 格式
    case...when...then...else...end
    
    • 1
    select device_id,gender,
        CASE
        WHEN age < 20 THEN '20岁以下'
        WHEN age between 20 and 24 THEN '20-24岁'
        WHEN age >= 25 THEN '25岁及以上'
        else '其他' end age_cut
    from user_profile
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    数据处理函数

    • SQL28 计算用户8月每天的练题数量

    现在运营想要计算出2021年8月每天用户练习题目的数量,请取出相应数据。

    在这里插入图片描述

    select day(date) as day,count(question_id) as	question_cnt
    from question_practice_detail
    where year(date)=2021 and month(date)=8
    group by day
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    2009-2018年31省份旅游收入(入境、国内、总收入;第三产值;GDP)
    shell脚本的条件判断2:文件属性的判断与比较
    YOLOv5改进算法之添加CA注意力机制模块
    Android自动化测试工具调研
    【LeetCode每日一题】——90.子集 II
    44. 通配符匹配 ●●● & HJ71 字符串通配符 ●●
    手写效果流式响应(langchain+fastapi+js)
    【leetcode】 数组二分查找
    为gnustep项目移植到wsl的过程
    前端项目nginx部署
  • 原文地址:https://blog.csdn.net/JennyXi2001/article/details/137247971
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号