MySQL 分组查询

2023-05-16

文章目录

  • 分组查询
    • 分组函数
      • 1.功能
      • 2.分类
      • 3.特点
      • 3.简单的使用
      • 4.和distinct搭配使用
      • 5.count函数的具体介绍
      • 6.和分组函数一同查询的字段有要求
    • 分组查询
      • 1.语法
      • 2.简单的分组查询
      • 3.添加筛选条件
        • 3.1添加分组前的筛选
        • 3.2添加分组后的筛选
        • 3.3 总结
      • 4.按函数分组
      • 5.按多个字段分组
      • 6.添加排序

分组查询

分组函数

1.功能

用作统计使用,又称为聚合函数或统计函数或组函数。

2.分类

sum 求和、avg 平均值、max 最大值、min 最小值、count 计算个数。

3.特点

1、sumavg一般用于处理数值型;maxmincount可以处理任何类型。
2、以上分组函数都忽略null值。

3.简单的使用

在这里插入图片描述

4.和distinct搭配使用

distinct 去重,和distinct搭配使用,先去重再计算。
在这里插入图片描述
在这里插入图片描述

5.count函数的具体介绍

count(字段)
在这里插入图片描述

count(*) 用来统计行数,因为在一个表中,每一行的值不能能都为null,因为设计了主键,主键不可能为null,只要有一个不为null,就会被统计,也就是行数。
在这里插入图片描述

count(1) 用来统计行数,它相当于给一个表增加了一列,其中每一行都为1,然后统计1个个数,当然1也可以换成其他的,比如2 3 '王大锤’等等,只不过用1比较多而已。
在这里插入图片描述
效率:
既然count(字段)count(*)count(1) 三个都可以统计表中的行数,那么当三者作用相同时,肯定要比较三者的 效率 啦!
在这里插入图片描述
MYISAM存储引擎下,count(* )的效率高。
INNODB存储引擎下,count(*)count(1)的效率差不多,比count(字段)效率高一些。

6.和分组函数一同查询的字段有要求

比如我们要查询员工的平均工资和所有的员工编号,因为查询员工的平均工资是一个值,查询所有的员工编号应该有多个值,所以两者不可以一块儿查询。
在这里插入图片描述
和分组函数一同查询的字段要求是 group by后的字段

分组查询

1.语法

select 分组函数,(要求出现在group by的后面)
from
where 筛选条件
group by 分组的列表
order by 子句

😮注意: 查询列表必须特殊,要求是分组函数group by后出现的字段。

2.简单的分组查询

①查询每个工种的最高工资。
在这里插入图片描述
②查询每个位置上的部门个数。
在这里插入图片描述

3.添加筛选条件

3.1添加分组前的筛选

①查询邮箱中包含a字符的,每个部门的平均工资。
在这里插入图片描述

②查询有奖金的每个领导手下员工的最高工资。
在这里插入图片描述

3.2添加分组后的筛选

对于分组后的筛选,如果我们一下子写不出来的话,我们可以将其进行拆分查询。

①查询哪个部门的员工个数>2。
在这里插入图片描述
在这里插入图片描述
②查询每个工种有奖金的员工的最高工资>12000的工种编号和最高工资。
在这里插入图片描述
在这里插入图片描述
③查询领导编号>102的每个领导手下的最低工资>5000的领导编号是哪个,以及其最低工资。
在这里插入图片描述
在这里插入图片描述

3.3 总结

数据源位置关键字
分组前筛选原始表group by子句的前面where
分组后筛选分组后的结果集group by子句的后面having

①分组函数做条件肯定是放在having子句的后面
②能用分组前筛选的,就优先使用分组前的筛选

4.按函数分组

按员工姓名的长度分组,查询每一组的员工个数,筛选员工个数 > 5的有哪些?

在这里插入图片描述
支持别名查询
在这里插入图片描述

5.按多个字段分组

😇按多个字段进行分组,字段的位置可以交换。
查询每个部门每个工种的员工的平均工资
在这里插入图片描述

6.添加排序

查询每个部门每个工种的员工的平均工资,并按平均工资的降序排序
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 分组查询 的相关文章

  • 使用rsync每天自动进行远程增量备份的shell脚本

    rsync incremental backup 可配置的bash脚本 xff0c 使用rsync将数据的增量备份发送到本地或远程目标 项目地址 xff1a https github com pedroetb rsync increment
  • 使用docker-compose搭建Nextcloud个人云盘并开启https教程

    一 前言 之前一直采用LANMP直接搭建服务 xff0c 但后来使用docker后 xff0c 搭建和迁移数据都很方便 xff0c 所以将服务都容器化 下面介绍一下使用docker compose搭建Nextcloud xff0c 并且使用
  • 使用docker-compose搭建WordPress网站并开启https教程

    一 前言 之前一直采用LANMP直接搭建服务 xff0c 但后来使用docker后 xff0c 搭建和迁移数据都很方便 xff0c 所以将服务都容器化 下面介绍一下使用docker compose搭建WordPress网站 xff0c 并且
  • 使用Docker搭建自己的在线密码管理器软件-Bitwarden

    前言 因为现在网络安全问题愈发严重 xff0c 黑客经常通过互联网已泄露的用户和密码信息进行撞库攻击 xff0c 而且很多用户在不同网站使用的是相同的帐号密码 xff0c 所以为不同的网站设置不同的密码就非常重要 但密码不同尤其是使用随机生
  • 如何在Docker容器里开启fail2ban防止SSH暴力破解

    一 前提介绍 Docker容器里开启了SSH服务 xff0c 但是发现有大量的暴力破解进程 xff0c 需要使用fail2ban防止SSH暴力破解 xff0c 将攻击的IP拉黑 二 原因分析 但是直接安装fail2ban xff0c 和没有
  • PT工具之Docker全家桶+HTTPS详细配置教程

    一 前言 因为使用Docker的隔离性 可移植性比较好 xff0c 所以自己使用的服务一般都使用Docker部署 xff0c 这样每次迁移时将挂载的目录备份即可 xff0c 不需要考虑机器的版本和兼容性 xff0c 更换设备时基本可以做到一
  • 【原理篇】qBittorrent下载+转种Transmission快校版+IYUU Plus辅种教程

    一 前言 之前写了篇教程 xff0c PT工具之Docker全家桶 43 HTTPS详细配置教程 xff0c 主要讲述了使用Docker部署常用工具及反向代理上https xff0c 之前预告过还写一篇辅种教程合集的 xff0c 故有了此篇
  • 【操作篇】qBittorrent下载+转种Transmission快校版+IYUU Plus辅种教程

    一 前言 之前写了篇教程 xff0c PT工具之Docker全家桶 43 HTTPS详细配置教程 xff0c 主要讲述了使用Docker部署常用工具及反向代理上https 之前预告过还写一篇辅种教程合集的 xff0c 故有了此篇教程 xff
  • Android&Kotlin——EditText遇到类型不匹配错误

    前言 最近一直使用Kotlin开发Android应用 xff0c 今天刚好遇到一个关于EditText的错误 xff0c 记录一下 报错详情 Type mismatch inferred type is String but Editabl
  • PT教程之手动为IYUU站点增加流控步骤

    1 进入容器 使用ssh登陆你的机器 xff0c 输入下面的命令进入iyuu容器 xff0c 如果本地安装的话不需要这个步骤 docker span class token builtin class name exec span it i
  • Linux系统如何禁用IPv6以解决连接超时问题

    Linux系统如何禁用IPv6以解决连接超时问题 文章来源 xff1a https www yingsoo com news servers 55619 html IPv6和IPv4同属于网络协议 xff0c 在Linux系统中 xff0c
  • C语言中的左移位和右移位

    移位操作只是简单地把一个值的位向左或右进行移动 1 左移位 符号 xff1a lt lt 在左移位中 xff0c 之最左边的几位被丢弃 xff0c 右边多出来的几个空位则由0进行补齐 例如 xff1a 01101101 lt lt 3 结果
  • uva10369 - Arctic Network(北极网络)

    最小生成树的变形 最小生成树只能有n 1条边 所以我们有无线资源的时候 xff0c 为了尽量发挥这些昂贵资源的价值 xff0c 我们把这些资源用到最小生成树的最长的s个边上 即 xff0c 求最小生成树的第p s个边 include lt
  • 解决办法:/usr/bin/env: “bash\r“: 没有那个文件或目录

    最近在github上download了一个程序但是总是有点问题 解决办法 xff1a 1 使用VIM打开该文件 按一下ESC 输入 span class token operator span set ff 千万别少了 span class
  • Windows 10 安装并迁移 Ubuntu18.04

    控制面板 程序 程序和功能 启用或关闭windows功能 xff0c 勾选适用于Linux的windows子系统 进入win10应用商店 xff0c 安装并启动 修改成阿里云的软件源 sudo mv etc apt sources list
  • Oracle 12c修改sys用户密码

    oracle12c修改用户密码有个跟之前版本的Oracle数据库修改密码有个差异的地方 这里有个概念叫做插件式数据库 xff08 pluggable database xff09 除了默认的数据库之外 xff0c 其他的都是插件式的 xff
  • linux上的squid的安装及配置

    一 squid简介 Squid是一个缓存Internet 数据的软件 xff0c 其接收用户的下载申请 xff0c 并自动处理所下载的数据 当一个用户想要下载一个主页时 xff0c 可以向Squid 发出一个申请 xff0c 要Squid
  • Apache 中文乱码问题解决方法

    已经不记得解决过多少次这个问题了 xff0c 但是每次都搞忘记 xff0c 备忘一下 服务器端 xff1a 61 61 61 61 61 61 修改httpd conf 在Redhat中放置的位置为 etc httpd conf 查找 xf
  • linux下查看日志用到的常用命令

    linux下查看日志用到的常用命令 参考网址 https mp weixin qq com s NDXSXRhIWkE8fkYSDwcwXw 1 查看日志常用命令 tail n 是显示行号 xff1b 相当于nl命令 xff1b 例子如下
  • Python笔记—TypeError: can only concatenate str (not “int“) to str

    今天自学Python遇到了一个报错 xff0c 报错的内容如下 xff1a TypeError can only concatenate str not 34 int 34 to str 这个错误的意思是类型错误 xff1a 字符串只能拼接

随机推荐

  • Python3中通过Zmail库发送电子邮件

    一 Zmail 是什么 Zmail或许是最简单的邮件收发库 xff0c 开发网址为 xff1a https github com ZYunH zmail GITHUB中的Zmail 在上述github下载压缩包 zmail master z
  • 李宏毅——元学习meta learning1

    李宏毅 元学习meta learning1 导语meta learningmeta learning的步骤什么叫一组learning algorithm如何评价一个F的好坏meta learning vs machine learning怎
  • BACnet协议简要说明及组网简介

    主题概要BACnet协议BACnet协议简要说明 xff0c 组网简介编辑时间新建20160217序号参考资料1BACnet协议正文1995版2http www bacnet org Tutorial BACnetIP 1 协议说明 BAC
  • Tesseract-OCR字符训练工具及方法

    主题概要Tesseract OCRTesseract OCR训练工具编辑时间新建20161008更正训练步骤序号20161225序号参考资料1http vietocr sourceforge net training html2 最近参加了
  • 基于easyPR和openalpr的车牌识别研究

    主题概要车牌识别车牌识别流程及算法编辑时间新建20161216序号参考资料1https github com openalpr openalpr2https github com liuruoze EasyPR3学习openCV Cary
  • c# Winform程序实现多sheet的Excel文件导入与导出

    主题概要C excel导入到mysql xff0c mysql导出到excel编辑时间新建20170123序号参考资料1http download csdn net detail nanzhaonan 5403457 xff08 左侧导航菜
  • JS统计页面访问次数并传递可选参数

    主题概要JS用JS统计网站页面的访问次数 xff0c 并传递可选参数编辑时间新建20171218序号参考资料1 网站有些页面需要统计用户的访问次数 xff0c 下面是一个简单的JS xff0c 引用在需要统计的页面类 网站上有个Handle
  • QT UDP Socket数据接收与解析

    主题概要QTUDP Socket编辑时间新建20180331序号参考资料1https doc qt io qt 5 qudpsocket html 做直升机航电系统仿真 xff0c 类似GPS导航接收机的按钮很多 xff0c 显示的仪表也很
  • 个人博客搬迁

    个人博客网址 xff1a 个人博客 可以在浏览器上输入 shao zheng com 后续不再在CSDN上更新博客 忽略新博客的页面 xff0c 会用心记录开发中的各种内容 xff0c 也会写一些飞行仿真相关的原理性的东西
  • 在sublime中配置gcc/g++环境

    在sublime中配置gcc g 43 43 环境 第一次使用sublime进行c 43 43 学习的过程中遇到的一些问题 xff0c 包括代码的编译与运行需要用到gcc g 43 43 的编译环境 xff0c 现在已经顺利解决 本文是对问
  • Android-调用微信支付失败的情况

    最近工作中 xff0c 开发的App版本需要加入微信支付 支付宝支付 QQ钱包支付功能 一般情况下 xff0c 我们支付功能都是封装好的支付模块 xff0c 支付方面一般不会有重大的更新 但是我却遇到了 xff1a 微信支付一直调不起微信客
  • Rust异步编程async/.await原理解析(一)

    在这个教程中我们将详细分析rust异步代码async await的内部运行机制 我们将使用async std库而不是tokio xff0c 因为这是第一个支持async await语法的rust库 async await原理解析教程分为两部
  • 数控机床G-Code在线仿真器

    G code是 CNC xff08 计算机数控 xff09 机床的编程语言 G code指的是Geometric Code xff0c 即几何代码 我们使用这种语言告诉机器做什么或怎么做某事 G code命令指示机器移动位置 移动速度以及要
  • ubuntu误删文件造成软件包信息列表损坏无法更新或安装文件

    因为一开始不知到如何彻底卸载软件包 xff0c 误把文件目录删除 xff0c 造成了软件包信息列表损坏 xff0c 系统无法使用apt get 命令 xff0c 无论实施更新或安装还是卸载都会提示软件包信息列表损坏 xff0c 建议重新安装
  • Docker镜像转换成Dockerfile

    通常我们会通过dockerfile构建docker xff0c 但是我们需要使用dockerfile时 xff0c 想还原其dockerfile xff0c 我们可以使用如下命令 docker run v var run docker so
  • 使用iperf测试网络速度--windows

    下载 下载iperf的Windows版本 xff1a iperf官网地址 这里下载的版本是iperf 3 1 3 win32 xff0c 电脑使用的是XP系统 下载文件中有cygwin1 dll xff0c cyggcc s 1 dll x
  • [最新]ubuntu22.04安装kubernetes1.25 k8s1.25

    条件 2G内存2 CPU网络连接 xff08 内网公网都可以 xff09 唯一的主机名 xff0c mac地址6443 xff0c 10650等端口禁用Swap20 GB var目录磁盘空间Sudo 用户权限 主机准备 Master Nod
  • hadoop目录介绍(各目录功能介绍)

    hadoop目录 1 bin xff1a 2 sbin3 etc4 lib5 logs6 include7 libexec8 share目录 介绍hadoop的目录 首先进入hadoop查看目录 挑重要的介绍 1 bin xff1a bin
  • Linux操作文件的系统调用

    操作文件的系统调用 1 文件操作有关的系统调用 open xff08 xff09 read xff08 xff09 write xff08 xff09 close xff08 xff09 1 xff09 open xff08 xff09 i
  • MySQL 分组查询

    文章目录 分组查询分组函数1 功能2 分类3 特点3 简单的使用4 和distinct搭配使用5 count函数的具体介绍6 和分组函数一同查询的字段有要求 分组查询1 语法2 简单的分组查询3 添加筛选条件3 1添加分组前的筛选3 2添加