【MySQL系列】统计函数(count,sum,avg)详解

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 文章目录🌈一、COUNT函数创建一个表T11.COUNT函数的定义:2.COUNT函数的使用方式:1️⃣count(*)(1)count(*)定义:(2)具体使用:(3)

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤

📃个人主页 :阿然成长日记 👈点击可跳转

📆 个人专栏: 🔹数据结构与算法🔹C语言进阶

🚩 不能则学,不知则问,耻于问人,决无长进

🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍


前言:前面已经学习了查询的基础操作,接下来学习一些SQL

学习子查询之后,将对这些函数进行更复杂更高级的使用,现在只是进行初步了解各个函数的作用。

文章目录

🌈一、COUNT函数

创建一个表T1

1.COUNT函数的定义:

返回SELECT语句检索的行数。 结果是一个bigint

2.COUNT函数的使用方式:

1️⃣count(*)

(1)count(*)定义:

返回所选列的行数。

(2)具体使用:

🔻统计学生中语文成绩在80分以上的人数;

执行语句:

查询结果:

🔻统计english这一列的行数

执行语句:

查询结果:

(3)

2️⃣count(字段名)

(1)count(字段名)定义:

返回SELECT语句检索的指定字段行数。 结果是一个bigint值。并且排除NULL

(2)count(字段名)的使用:

📍具体的使用基本一致,只有具体小细节不同。在这里就只举例有差异的例子。

🔻统计english这一列的行数

执行语句:

查询结果:

3.count(*)、count(字段名)、count(1)三者的比较

(1)count(*)和count(字段名):通过上面查询英语成绩行数,count(\*)返回结果4count(字段名)返回结果3  可以看出CONUT(*)返回的是指定表的行数,只需找到表头,计算行数即可,不需要读取数据列的数据内容。

COUNT(列名),为了去除是NULL值的行,需要读取每一行的值。

同时得出:CONUT(*)比COUNT(列名)执行速度更快

(2)CONUT(*)与CONUT(1)它们之间是没有区别.

📈二、SUM函数:

SUM定义:

SUM函数是一个聚合函数,它返回所有或不同值的总和。需要注意的是,只能将SUM函数应用于数字列

SUM的语法:

SUM(【ALL|DISTINCT】 expression1);

参数:

🔸ALL:可写,SUM函数默认使用ALL运算符。

🔸DISTINCT :可写,指定SUM返回表达式中不同(唯一)值的和。

SUM的使用:

🔻例如:统计所有学生的语文成绩总和

执行语句:

执行结果:

🔻可以使用where子句

例如:计算数学成绩在80以上的总和

执行语句:

执行结果:

📜三、AVG语句

1.AVG语句的定义:

AVG函数是一个聚合函数,用于计算集合的平均值。

2.AVG 的语法:

AVG([ALL|DISTINCT] expression)

3.AVG 的使用:

🔻计算本班学生数学平均分

执行语句:

执行结果:

🔻计算王哈哈的平均成绩

执行语句:

执行结果:

🚩四、 注意细节:

使用聚合函数,计算时,默认使用ALL计算,

对于数据类型为INT、SMALLINT或TINYINT的表达式,SUM返回的数据类型为IntegerInteger是int的包装类

对于数据类型为bigint的表达式,SUM返回数据类型bigint
对于数据类型为
double
的表达式,SUM返回数据类型为double的表达式。

对于所有其他数字数据类型,SUM返回数据类型numeric

💻五、求最值函数

1.MAX,MIN

这两个函数的使用相对简单:

1.MAX就是返回最大值;

2.MIN就是返回最小值

🔻简单举个例子:

查找本班总分第一人:

🚩 想要查询并显示的对应的名字,需要学习子查询之后才能实现。所以加快进度,冲冲冲!!!:

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
SQL 关系型数据库 MySQL
【MySQL基础篇】盘点MySQL常用四大类函数
本文介绍了MySQL中的四大类常用函数:字符串函数、数值函数、日期函数和流程函数。
【MySQL基础篇】盘点MySQL常用四大类函数
|
4天前
|
存储 缓存 关系型数据库
MySQL的count()方法慢
MySQL的 `COUNT()`方法在处理大数据量时可能会变慢,主要原因包括数据量大、缺乏合适的索引、InnoDB引擎的设计以及复杂的查询条件。通过创建合适的索引、使用覆盖索引、缓存机制、分区表和预计算等优化方案,可以显著提高 `COUNT()`方法的执行效率,确保数据库查询性能的提升。
67 12
|
18天前
|
SQL 关系型数据库 MySQL
MySQL常见函数第二期,你都用过哪些呢 ?
本期介绍了20个常用的MySQL函数,涵盖日期处理(如CURDATE()、DATE_FORMAT())、数学运算(如ABS()、ROUND())、统计分析(如COUNT()、SUM())等,帮助提高SQL查询效率和数据处理能力。希望对大家的学习有所帮助。
59 7
|
20天前
|
关系型数据库 MySQL
MySQL常见函数第一期,你都用过哪些呢 ?
本期介绍10个常用的MySQL函数:字符串连接(CONCAT)、提取子字符串(SUBSTRING)、获取字符串长度(LENGTH)、转换大小写(UPPER、LOWER)、去除空格(TRIM)、替换字符串(REPLACE)、查找子字符串位置(INSTR)、带分隔符的字符串连接(CONCAT_WS)以及获取当前日期时间(NOW)。
56 8
|
21天前
|
数据采集 关系型数据库 MySQL
MySQL常用函数:IF、SUM等用法
本文介绍了MySQL中常用的IF、SUM等函数及其用法,通过具体示例展示了如何利用这些函数进行条件判断、数值计算以及复杂查询。同时,文章还提到了CASE WHEN语句和其他常用函数,如COUNT、AVG、MAX/MIN等,强调了它们在数据统计分析、数据清洗和报表生成中的重要性。
|
14天前
|
缓存 NoSQL 关系型数据库
MySQL战记:Count( *)实现之谜与计数策略的选择
本文深入探讨了MySQL中`count(*)`的不同实现方式,特别是MyISAM和InnoDB引擎的区别,以及各种计数方法的性能比较。同时,文章分析了使用缓存系统(如Redis)与数据库保存计数的优劣,并强调了在高并发场景下保持数据一致性的挑战。
MySQL战记:Count( *)实现之谜与计数策略的选择
|
25天前
|
关系型数据库 MySQL 数据处理
【MySQL】函数
MySQL 提供了丰富的函数集,涵盖字符串处理、数值运算、日期时间操作和聚合计算等多个方面。这些函数在日常数据库操作中极为重要,通过合理使用这些函数,可以大大提高数据处理和查询的效率。用户还可以通过自定义函数,扩展 MySQL 的功能以满足特定需求。
28 3
|
27天前
|
关系型数据库 MySQL 数据处理
MySQL函数与约束
MySQL 提供了丰富的函数和强大的约束机制,用于数据处理和完整性维护。通过掌握这些工具,可以有效地管理和分析数据库中的数据,确保数据的一致性和准确性。无论是在日常数据查询中使用内置函数,还是在数据库设计中应用各种约束,都是确保数据库系统稳定、高效运行的关键。希望本文对您理解和应用 MySQL 函数与约束有所帮助。
31 1
|
3天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
13 3
|
3天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
18 3