码农知识堂 - 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
  • 相关阅读:
    Spring - FactoryBean扩展实战_MyBatis-Spring 启动过程源码解读
    欧科云链研究院:如何降低Web3风险,提升虚拟资产创新的安全合规
    KMeans算法与GMM混合高斯聚类
    spring boot +Scheduled 动态定时任务配置
    日本率先研发成功6G设备,刺痛了谁?为何日本能率先突破?
    Unity脚本的基础语法(6)-特定文件夹
    【springboot】自定义starter(学习笔记)
    Mybatis--关联关系映射
    【PID优化】基于樽海鞘算法PID控制器优化设计含Matlab源码
    深度学习-卷积神经网络-AlexNET
  • 原文地址: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号