• MySQL分组查询


    基本语法
    基本语法 select 查询字段 from 表名 where 查询条件 group by 分组字段 having 过滤条件
    我们来实际操作一下
    首先 我们建一个用户表
    在这里插入图片描述
    首先 我们根据user_gender (员工性别分组) 查看 男性和女性员工分别是多少个

    select count(*) from user_list group by user_gender;
    
    • 1

    运行结果如下
    在这里插入图片描述
    我们用user_gender分组 查询了 count总条数
    但我们现在看不出 到底是男的 4个 还是女的4个
    修改代码如下

    select user_gender,count(*) from user_list group by user_gender;
    
    • 1

    在这里插入图片描述
    这次我们查询的字段是 user_gender 和 count 总长度 就可以知道 男女具体是多少了

    然后 我们还是以男女分组 但这次 我们限制 只有22岁以上的员工可以参与查询

    select user_gender,count(*) from user_list where user_age > 22 group by user_gender;
    
    • 1

    我们这里条件限制 user_age年龄 字段 必须大于22 才能参与查询
    运行结果如下
    在这里插入图片描述
    在这里插入图片描述
    这里我们可以看到 李四 和赵云 别过滤掉了 所以 男的就只有两个
    男女 变成了 2比2

    然后我们最后再来一个
    判断薪资在 6千以上 且 人数 2人 或 2人以上的性别

    select user_gender,count(*) from user_list where user_salary > 6000 group by user_gender having count(*) >= 2;
    
    • 1

    运行结果如下
    在这里插入图片描述
    首先 参与分组的数据 user_salary 必须大于 6000 然后查询后的过滤条件是 总数要 大于等于二
    在这里插入图片描述
    女员工只有一个人达到 总数小于2 所以被第二个条件过滤 最终 只有男员工的两条数据被查询了出来

    数据纯属演示 乱造数据 没有任何其他意思

  • 相关阅读:
    操作系统学习笔记-精简复习版
    判断二叉树是否是平衡二叉树(c#)
    Vue 路由
    线程与进程
    Outlook提示无法保存该附件。无法创建文件......
    数据采集-数据采集方法-免费数据采集软件及教程
    【Java面向对象】对象和类
    【校招VIP】产品行测能力之数图问题
    微信小程序干货
    Vite和Webpack区别
  • 原文地址:https://blog.csdn.net/weixin_45966674/article/details/126614165