【MySQL】第十部分 常用的聚合函数

【MySQL】聚合函数和分组聚合 介绍聚合函数和分组聚合 阅读详情

【MySQL】第十部分 常用的聚合函数



10. 常用的聚合函数

定义: 对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值

聚合函数不能像单行函数那样嵌套使用!!!


10.1 MIN和MAX函数

可以对任意数据类型的数据使用 MIN 和 MAX 函数。

SELECT MAX(commission_pct),MIN(commission_pct)
FROM employees;

SELECT MAX(last_name),MIN(last_name)
FROM employees;

在这里插入图片描述


10.2 COUNT函数

COUNT(*) : 返回表中记录总数,适用于任意数据类型,跟 NULL 和非 NULL 无关

COUNT(1) : 里面的1表示的是将每行用1去表示,一样是记录总数,里面的1可以替换任何常数,适用于任意数据类型

COUNT(列名) : 需要注意它不会统计此列为 NULL 值的行!!!

SELECT COUNT(1),COUNT(2),COUNT(*),COUNT(commission_pct),COUNT(IFNULL(commission_pct,1))
FROM employees;

在这里插入图片描述


10.3 AVG和SUM函数

可以对数值型数据使用AVG 和 SUM 函数。

# 公式 : AVG() = SUM() / COUNT()  可以体现出SUM(列名),AVG(列名),COUNT(列名)都是不会去统计列为NULL值的行
SELECT AVG(IFNULL(commission_pct,0)),SUM(commission_pct)/COUNT(IFNULL(commission_pct,0)),
AVG(commission_pct),SUM(commission_pct)/COUNT(commission_pct)
FROM employees;

在这里插入图片描述


10.4 GROUP BY

# 按照这个顺序
SELECT * 
FROM TABLE
WHERE      条件
GROUP BY   分组
ORDER BY 	 排序
LIMIT			 限制

单分组

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id ;

在这里插入图片描述

多分组

SELECT department_id,job_id,AVG(salary)
FROM employees
GROUP BY department_id,job_id;

在这里插入图片描述

GROUP BY 声明的字段, 虽然SELECT可以不出现, 但是这样做会降低可读性

# 造成可读性很差,你不知道哪个部门对应哪个数据
SELECT AVG(salary)
FROM employees
GROUP BY department_id;

SELECT出现的非聚合函数字段,GROUP BY也必须要声明,否则会出错!!! 例如下面举例

# 一个部门有多个工种,如果以部门为单位求平均值,那么多个工种该如何显示??
SELECT department_id,job_id,AVG(salary)
FROM employees
GROUP BY department_id;

综上所述: 在SELECT列表中所有未包含在聚合函数中的列都应该包含在 GROUP BY子句中,需要一一对应.


10.5 HAVING

HAVING的使用规范:

  1. 当过滤条件包含聚合函数的时候使用 HAVING,并且是写在GROUP BY后面

  2. 在WHERE中不能使用聚合函数作为筛选条件

  3. HAVING 不能单独使用,必须要跟 GROUP BY 一起使用

  4. WHERE 和 HAVING 也不是互相排斥的,我们可以在一个查询里面同时使用 WHERE 和 HAVING

  5. 从开发中HAVING的适用范围更广, 但是当过滤条件中没有聚合函数, WHERE和HAVING都可以使用的情况下,WHERE的执行效率更高

# 查询各个部门的最高薪资并且大于12000
SELECT department_id,MAX(salary)
FROM employees
GROUP BY department_id
HAVING MAX(salary)> 12000;
# 查询10,20,30,40号部门中最高薪资并且大于10000
# 写法一
SELECT department_id,MAX(salary)
FROM employees 
WHERE department_id IN(10,20,30,40)
GROUP BY department_id
HAVING MAX(salary) > 10000;

# 写法二 (不推荐,效率低,后面会说)
SELECT department_id,MAX(salary)
FROM employees 
GROUP BY department_id
HAVING MAX(salary) > 10000 AND department_id IN(10,20,30,40);

总结

以上就是今天要讲的内容,希望对大家有所帮助!!!

【MySQL】超详细MySQL常用日期格式转换函数、字符串函数、聚合函数(最新版) 周 (01-53) 星期日是一周的第一天,与 %X 使用。周 (01-53) 星期一是一周的第一天,与 %x 使用。年,其中的星期日是周的第一天,4 位,与 %V 使用。年,其中的星期一是周的第一天,4 位,与 %v 使用。周 (00-53) 星期日是一周的第一天。周 (00-53) 星期一是一周的第一天。带有英文前缀的月中的天(如:7th)月的天,数值(00-31)年的天 (001-366)年,4 位(如:2024)月的天,数值(0-31)分钟,数值(00-59)月,数值(00-12) 阅读详情

相关推荐

MySQL常用日期格式转换函数、字符串函数、聚合函数详

MySQL 作为最广泛使用的数据库之一,提供了强大的函数支持,以满足日常数据处理中的各种需求。无论是处理日期格式、字符串操作,还是执行数据聚合,MySQL 都为开发者提供了丰富的内置函数。本文将详细介绍 MySQL 中常用的日期格式转换函数、字符串函数和聚合函数,帮助你在实际开发中更好地应用这些工具。

fudaihb的博客 1933

【MySQL】聚合函数

介绍了五大常用聚合函数、GROUP BY、HAVING的使用方法,还有简单分析了一下SELECT语句的执行顺序

Decade0712的博客 1万+

transformer优化(一)-UNeXt 学习笔记

​它在早期阶段使用卷积,在潜在空间阶段使用 MLP。通过一个标记化的 MLP 块来标记和投影卷积特征,并使用 MLP 对表示进行建模。 ​

PLANTTHESON的博客 2033

MySQL - 30 分钟搞定常用函数:字符串、日期、聚合函数实操

MySQL常用函数速查指南:字符串、日期与聚合函数 本文介绍了MySQL中最实用的三类函数及其应用场景: 字符串函数: LENGTH()和CHAR_LENGTH()分别计算字节长度和字符长度 SUBSTRING()/LEFT()/RIGHT()用于字符串截取 CONCAT()连接字符串,TRIM()去除空格 REPLACE()替换文本,UPPER()/LOWER()转换大小写 日期函数: NOW()获取当前时间,DATE()提取日期部分 DATEDIFF()计算日期差,DATE_ADD()日期加减 DATE

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

【Unity动画系统】详解Root Motion动画在Unity中的应用(一)

什么时候勾选Bake into pose,当不希望动画带动游戏对象旋转时。在旋转的动画中一般是不用勾选的,因为就需要用它来带动我们的角色对象旋转。但在比如前进、后退、待机等动画来说,我们就可以勾选这里,以避免因动画文件本身的瑕疵而给我们带来的旋转。loop match:代表了这个动画在角度上的吻合度。如果这个动画在播放中转角过大,那么就会显示红色,告诉我们如果勾选bake into pose,则会带来不好的效果。

weixin_60154963的博客 6804

基于STM32的家用新风系统智能控制器 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6核心控制器,完整实现了家用新风系统智能控制器的全功能开发,覆盖多传感器数据采集、双模式控制、PID调速、异常报警、掉电记忆等核心功能,全程采用保姆式无跳步教学,从硬件选型、接线、CubeMX配置、代码开发、调试排坑全流程拆解,跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 464

mysql聚合函数总结

1.首先我们需要了解下什么是聚合函数 聚合函数aggregation function又称为组函数。 认情况下 聚合函数会对当前所在表当做一个组进行统计。 2.聚合函数的特点 (1).每个组函数接收一个参数(字段名或者表达式) 统计结果中默认忽略字段为NULL的记录 (2).要想列值为NULL的行也参与组函数的计算,必须使用IFNULL函数对NULL值做转换。 (3).不允许出现嵌套 比如sum(max(xx)) 3.聚合函数 count(),求数据表的行数 select count(*/字段名) from

w1194890394的博客 7660

UE4-(IK)实现人物脚贴合地面解决斜坡上脚无旋转无法贴合地面问题

在斜面上脚陷入模型中,需要设置旋转值对脚的骨骼进行一个旋转。 解决思路:在射线检测中可以获取到检测点的法线方向,根据法线方向来计算出脚应该向哪个方向进行适当的旋转,在斜坡上,人物脚需要旋转的轴为x轴和y轴以便来贴合地面,z轴方向的旋转是不需要进行修改的。 如图所示,我们需要求得水平面与斜坡的夹角用来得出人物在x轴上的脚旋转量,在蓝图中提供反正切函数,反正切 = 锐角的邻边/对边 所以 反正切值(脚x轴值(roll)) = 法线Y轴值/法线Z轴 值。 现在将上图的人物想象成面向屏幕,脚需...

Stone的博客 3317

mysql 常用聚合函数总结

mysql 常用聚合函数总结

congge_study的博客 6062

SAP 批量处理分包事后调整:BAPI_GOODSMVT_CREATE 关键参数与避坑指南

本文详细解析了SAP系统中使用BAPI_GOODSMVT_CREATE进行分包事后批量调整的关键参数配置与常见错误排查。重点介绍了GOODSMVT_CODE设置为'07'的必要性、GOODSMVT_ITEM结构体的正确配置方法,以及如何避免M7384、M7386等常见错误,帮助用户高效处理分包业务中的数量调整问题。

weixin_29276847的博客 566

Spec Kit:GitHub 官方推出的规范驱动开发工具包,让 AI 编程真正可控、高效、高质量

先明确“做什么”和“为什么”,再考虑“如何做”。它通过一系列标准化命令(如/specify/plan/implement可验证的功能规格(spec)可执行的技术方案(plan)可追溯的开发任务(tasks)高质量的实现代码(code)最终实现“规范即代码,代码即规范”的闭环。📌项目地址许可证:MIT(完全开源,欢迎贡献)Spec Kit 代表了 GitHub 对AI 原生开发(AI-Native Development)AI 不应替代开发者,而应放大开发者的意图。

lpfasd123的博客 1711

MySQL中的聚合函数

文章目录五种常用的聚合函数什么是聚合函数AVG和SUM函数MIN和MAX函数COUNT函数有关COUNT的效率问题GROUP BY基本实现使用多个列分组GROUP BY中使用WITH ROLLUPHAVINGWHERE和HAVING的对比 五种常用的聚合函数 什么是聚合函数 聚合函数作用于一组数据,并对一组数据返回一个值。 聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。 AVG和SUM函数 AVG函数:求平均值 SUM函数:求总和 AVG / SUM :只适用于数

十八岁讨厌编程的博客 8699

【虚拟仿真】Unity3D中实现对大疆无人机遥控器手柄按键响应

最近项目中需要用到大疆无人机遥控器对程序中无人机进行控制,遥控器是下图这一款:博主发现接入手柄这块的可以参考的内容非常少,对于大疆遥控器的控制更是没有。博主经过一番研究,终于理通了这块的遥控器摇杆数据的控制。并且将解决思路分享出来,希望对大家有所帮助。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2819

MySQL简单函数,聚合函数的使用

介绍了MySQL的字符串函数,数值函数,日期函数,流程函数,并复习了一下聚合函数

2202_76097976的博客 1600

ubuntu20.04中配置Pyrep和CoppeliaSim

在Ubuntu20.04中配置 Pyrep ,实现应用Python语言的机器人在 Vrep(CoppeliaSim)中的虚拟仿真。

加斯顿工程师的博客 3374

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MySQL表聚合函数

聚合函数的介绍及使用!

终为nullptr 2942

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

mysql 中常用的聚合函数的使用

mysql 中常用的聚合函数的使用 文章目录1 count 函数2 sum 函数3 avg 函数 计算平均值4 max 和min 函数 求最大值 ,最小值总结参考文档: 什么是聚合函数: 聚合函数 一般 是指 汇总的函数. 例如 MAX ,MIN ,SUM ,COUNT AVG 这些聚合函数, 通过看缩写 大概也知道 这些意思, 最大,最小,求和,求总数量,求平均值. 这些函数 我们平...

阿常呓语的专栏 1290

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MySQL_聚合函数

- 聚合函数一般配合group by分组查询使用 - 常用聚合函数 - COUNT():计数 - SUM():求和 - AVG():平均值 - MAX():最大值 - MIN():最小值

weixin_50296259的博客 1517

MySql 常用的聚合函数总结

功能:用于将查询结果中的多个行合并成一个字符串,并以逗号或其他指定的分隔符分隔。聚合函数通常与 SELECT 语句一起使用,用于生成汇总信息。功能:用于计算指定列中数值的平均值。功能:用于计算指定列的总体标准偏差。功能:用于计算指定列的样本标准偏差。功能:用于计算指定列或表中的行数。功能:用于计算指定列中数值的总和。功能:用于找出指定列中的最大值。功能:用于找出指定列中的最小值。功能:用于计算指定列的标准偏差。功能:用于计算指定列的总体方差。功能:用于计算指定列的样本方差。功能:用于计算指定列的方差。

2301_80794191的博客 841

【SQL基础】常用聚合函数、函数以及题目

(Aggregate Function)是一类SQL函数,它对一组数据(通常是表中的多行)进行计算,并返回单个值作为结果。得到的结果只有4. 这在较为简单的情况下是没问题的,但如果涉及到分组查询,那就会得不到正确的结果,因为聚合函数返回的值永远是单值。这样得到的才是每个国家的交易订单数量,也就是US3个,DE1个。联表查询将两个表组合成一个,用时间约束价格对应的数量,然后就是如何把每列的价格和数量相乘,再将每种产品的值加和除以总数量。上述函数都可以和聚合函数一起使用,例如有条件的计算和,就可以使用。

FQY__的博客 783

MySQL之聚合函数

聚合函数作用于一组数据,并对一组数据返回一个值。

曦 1468

mysql的所有聚合函数_MySQL 聚合函数(一)聚合(组合)函数概述

MySQL版本:5.7+一、MySQL 5.7中的聚合函数MySQL 5.7中的聚合函数如下:除非另有说明,否则组合函数会忽略NULL值。如果在不包含Group By子句的语句中使用组合函数,就等效于对所有行进行分组。(个人理解是,结果总是只有一行。)关于这点的更多信息,后面的小节“MySQL处理Group By的方式”会讲到。聚合函数中,方差和标准差函数会对数值参数返回DOUBLE值。SUM()...

weixin_29947319的博客 1万+

【MySQL学习篇】--- 聚合函数 和 常用函数

【MySQL学习篇】— 聚合函数 和 常用函数 聚合函数 在MySQL中,函数使用select关键字调用:select 函数名(字段名) from 表名 最大值: max(字段名) 最小值: min(字段名) SELECT MAX(score) FROM users; SELECT MIN(score) as 最低分 FROM users; 求平均数: avg(字段名) SELECT AVG(score) AS 平均分 FROM users; 求和: sum(字段名) SELECT SUM(scor

HappyCode 271

一些主要常见的mysql数据库聚合函数、函数

前面因为对数据库函数不熟悉,mysql group by,对不是分组条件的会默认返回第一个,然而infox不是,我就懵逼了..所以还是要掌握基础知识。 主要是自用: 参考了一些人的博客: http://www.cnblogs.com/tongxuping/p/7436090.html 等.. 不是不标注,而是找不到了 mysql数据库的一些常用函数 常用函数 聚合函数 ...

qq_35643562的博客 5010

MySQL中常用的聚合函数 说明及使用

聚合(或聚集、分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。什么是聚合函数聚合函数作用于一组数据,并对一组数据返回一个值。 聚合函数类型AVG()SUM()MAX()MIN()COUNT() 聚合函数语法聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))...

qq_52252193的博客 1185

MySQL常用的时间函数,聚合函数,字符串函数,判断函数

时间函数 获取当前日期,当前时间,当前日期+时间 select CURDATE(),CURTIME(),NOW(); 示例: 以上的日期函数获得效果,在其它时间函数中也能活得,此处不列举,记住最简单,最好用的就行。 比如与NOW() 效果相同的函数有localtime()等4个函数。 但我认为程序员已经卷成这样了,谁还能记得茴字有4种写法? 获取UTC时间 (这个不是很常用,但是我在业务里碰到过几次) select UTC_TIMESTAMP(), UTC_DATE(), UTC_TIME(),

会者定离,一期一祈 1334
上一篇: 【MySQL】第九部分 MySQL信息函数
下一篇: 【MySQL】第十一部分 SELECT的执行过程
Tree_wws
博客等级 码龄6年 1万+粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值