MySQL表中的聚合查询

news2024/12/24 9:34:39

聚合查询

在MySQL初阶中进行的查询都是对于同一条记录的列与列之间进行的运算,那如何对多条记录的不同行进行运算呢(比如计算所有同学某一单科的总分,某一单科的平均分)?此时就需要聚合查询来操作了!

1.聚合函数

函数

说明

COUNT([DISTINCT] expr)

返回查询到的数据的数量

SUM([DISTINCT] expr)

返回查询到的数据的总和,不是数字没有意义

AVG([DISTINCT] expr

返回查询到的数据的平均值,不是数字没有意义

MAX([DISTINCT] expr)

返回查询到的数据的最大值,不是数字没有意义

MIN([DISTINCT] expr)

返回查询到的数据的最小值,不是数字没有意义

现在新建一个学生表如下:

count():返回查询到的数据的数量(即记录的总数)

conut内部的参数可以是*(此时相当于通配符,与select查询中的*意思一样),也可以是常数0,1,2......,也可以是字段名;

当参数为*或者常数时,返回的是此时表内所有记录的总数

当参数为字段名时,返回的是除了NULL记录之外的所有记录的总数

sum():返回查询到的数据的总和,不是数字没有意义

sum()将参数列的所有数据进行加和,在加和的同时该函数会自动规避掉NULL数据,避免了加和结果为NULL的情况发生

也可以对多个字段进行操作(同样可以对表达式起别名):

avg():返回查询到的数据的平均值,不是数字没有意义

avg()将参数列的所有数据进行加和,在加和的同时该函数会自动规避掉NULL数据,避免了加和结果为NULL的情况发生

也可以对多个字段进行操作(同样可以对表达式起别名):

max(),min():返回查询到的数据的最大值和最小值,不是数字没有意义

当同时使用两个聚合函数时,需要用逗号隔开;

注意:以上所有聚合函数在使用时,函数名后面的括号必须紧挨着函数名(这是SQL语法本身的原因)!

2.group by子句

select中使用group by子句可以对指定列进行分组查询,需要搭配聚合函数一起使用!

新建一个员工表如下:

根据每个员工的职位进行分组然后查询分组后每个职位的平均工资:

运算过程:把role这一列值相同的行分成一组,然后使用聚合函数针对每个分组分别计算!

搭配order by子句对分组后的数据进行排序:

如果没有使用聚合函数:

如果不使用聚合函数的时候,查询的结果会是每个分组的第一条记录,所以一开始在前面就说明了group by子句需要搭配聚合函数一起使用!

3.having子句

group by子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用where语句,而需要用having子句

查询分组后平均工资在10000以上的数据:

where和having的区别:

分组之前指定条件(先筛选,再分组):使用where
分组之后指定条件(先分组,再筛选):使用having

使用where的情况(统计每个岗位的平均工资,但是刨去汤老湿的数据):

使用having的情况(查询每个岗位的平均工资,但是刨去平均工资在10000以下的数据):

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193555.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pod访问不通问题--kube-proxy未正常创建

用户问题Pod创建后访问对象存储OSS不通。初步排查初步排查,网络连通性是OK的。再次反馈创建Pod后2分钟内可能存在业务不通。业务架构该集群采用了节点自动弹缩功能,节点弹缩范围在13-28之间。用户周期性创建大批量Pod,共300个,与对…

46_API接口漏洞

API接口漏洞 一、概念 api > application interface 应用接口 向特定的接口发送一个请求包 返回一个类似于json格式的字符串 二、REST型web service 可以从网上去搜索下api接口去理解,下面有个我找到的网址,给出api接口的分类 https://blog.csdn.net/t79036912/article…

Linux(Ubuntu)通过NFS服务挂载群晖NAS为虚拟磁盘

1. 设置NAS,共享目录 1. 文件服务 设置 首先进入NAS服务,打开 [控制面板] ,在控制面版包含** 文件服务 ** 功能如图所示。 2.选中要共享的文件夹后,点击操作栏的 【编辑】 按钮,如图: 3.进入编辑面板后&a…

盘点三个超好用的截图软件

一款好用的截图软件往往能给人们带来更高的工作效率,目前市面上的截图软件已经很多,今天就给大家盘点一些好用的截图软件。 QQ截图 QQ截图软件是QQ内置自带的一款截图,快捷键ctrlA 可以唤起,其功能也是应有尽有包括屏幕录制&#…

【JavaScript】数据劫持(代理)详解

💻 【JavaScript】数据劫持(代理)详解 🏠专栏:JavaScript 👀个人主页:繁星学编程🍁 🧑个人简介:一个不断提高自我的平凡人🚀 🔊分享方向:目前主攻…

3万行代码硬撸一个一键发布文章工具,简直不要太好用,从此写文章,发文章,太简单了好伐

theme: channing-cyan highlight: github-gist 本人6年前端开发老鸟- 【程序员蜗牛】,欢迎沟通交流 操作演示(视频) 视频演示 项目背景 程序员工作中,不免会遇到一些技术难题,然后通过不懈努力将问题攻克&#xf…

1x1卷积、Inception网络、

目录1.1x1卷积(1x1 convolution)又称网络中的网络(network in network)池化层只能压缩图像的宽和高,1x1卷积能压缩通道数量,减少计算成本。如上图,输入维度的通道数为192,用32个1x1x192的filters,就能将输出的通道数压…

【Rust】20. Rust 的高级特征

20.1 不安全 Rust 20.1.1 不安全的超能力 20.1.2 解引用裸指针 裸指针(raw pointers):类似于引用类型;和引用一样,裸指针是不可变或可变的,分别写作 *const T 和 *mut T,这里的星号不是解引用运…

Kubernetes集群部署与实践

一、提要 部署Kubernetes集群至少需要3台服务器,其中至少要有1个服务器做master节点,至少要有1个服务器做node节点,且节点名称是唯一的。 当集群中只有一个master节点时,如果其出现了故障,会导致Kubernetes的控制平面…

规则引擎-drools-5-决策表

文章目录Excel格式决策表 官网地址决策表使用方式Excel组成部分与drl规则文件对应关系Excel文件内容示例drl规则文件内容Excel决策表内容说明1. RuleSet2. RuleTable3. Attributes示例Excel转化drl代码及结果执行drl代码及结果Excel格式决策表 官网地址 决策表这部分内容在官网…

几种IO模型

IO真正的IO操作涉及到和IO设备的交互,而操作系统限制了应用程序直接和设备交互。我们通常说的IO操作实际上是应用程序和操作系统进行交互,一般会使用操作系统的System Call,即系统调用,读是read(),写是write()&#xf…

设计模式-结构型模式

目录 5.结构型模式 5.1 代理模式 5.1.1 概述 5.1.2 结构 5.1.3 静态代理 5.1.4 JDK动态代理 5.1.5 CGLIB动态代理 5.1.6 三种代理的对比 5.1.7 优缺点 5.1.8 使用场景 5.2 适配器模式 5.2.1 概述 5.2.2 结构 5.2.3 类适配器模式 5.2.4 对象适配器模式 5.2.5 应…

聊聊关于矩阵反向传播的梯度计算

目录 1. 前向传播 2. 反向传播 3. 矩阵反向传播 4. 总结 1. 前向传播 建立如图所示的简单网络 W 是权重矩阵,初始赋值为 2*2 的矩阵 X 是输入特征,初始赋值为 2*1 的矩阵 这样通过矩阵乘法 , Y WX ,应该得到一个 2*1 的输…

在这竞争激烈的时代,如何才能够在激烈竞争中脱颖而出呢

不管是在职场想要获得认可得到晋升,还是与客户谈合作;都需要你能够脱颖而出。让他人能够看到你并且认可你。那如何才能脱颖而出呢?首先你要先认识自己,知道自己有什么优势、劣势、技能、兴趣、爱好等等。明确自己有什么价值&#…

软件工程(1)--初识基础概念

前言 学习了半年的软件工程课程,总不能一无所获吧,故此写下文章总结一番。 软件工程是一门综合性交叉学科,它涉及计算机科学、工程科学、管理科学和数学等领域。学习目标是掌握需求分析、软件设计、编码风格、软件测试的工程化方法。 软件程序…

什么是股票量化研究?

谈到股票量化研究领域,肯定少不了有自动交易系统的支撑,像平时能将股票池中的数据挖掘出来也能熟能生巧的进行自助量化研究,包括数据接口系统的开发使用都是受到量化的影响,那么,如何看待股票量化研究?像平…

arm版(以uos为例)linux安装mysql8

官网下载:https://downloads.mysql.com/archives/community/上传到服务器,然后解压缩tar -zxvf mysql-8.0.31-linux-glibc2.17-aarch64.tar.gzmv mysql-8.0.31-linux-glibc2.17-aarch64 /usr/local/mysql-8创建MySQL数据目录mkdir -p /datacd datamkdir …

打通对账的最后一公里——对账管理平台

背景 日新月异的科技与快速变化的消费需求不断驱动零售模式的变革,实体商业与数字经济、传统零售与新零售,逐渐融合并形成了全渠道、一体化的发展趋势,也改变了以往企业认知中线上、线下渠道割裂的思维定式,零售快消类企业纷纷建…

电子技术——MOS管的物理特性

电子技术——MOS管的物理特性 增强型 MOSFET 是应用最广泛的场效应晶体管。除了最后一节,我们整章讨论的都是增强型 MOSFET 。我们从它的物理元件结构和物理操作入手,在下一节我们会在本节的基础上学习 MOSFET 的电流-电压特性。 元件结构 上图展示了n-…

Day876.redolog刷盘问题 -MySQL实战

redolog刷盘问题 Hi,我是阿昌,今天学习记录的是关于redolog刷盘问题的内容。 平时的工作中,一条 SQL 语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很…