MySQL之汇总数据(AVG,COUNT,MAX,MIN,SUM)
table test
Field | Type | Null | Key | Default | Extra |
id | int(11) | NO | PRI | NULL | auto_increment |
name | char(50) | NO | NULL | ||
age | int(11) | NO | NULL | ||
school | char(50) | YES | NULL |
(一)AVG()函数#
AVG()通过对表中行数计数并计算特定列值之和,从而求得该列的平均值。
例如:SELECT AVG(age) AS avg_age FROM test;
此语句返回表test中所有age的平均值。
例如:SELECT AVG(age) AS avg_age FROM test WHERE name="john";
此语句返回表test中name=john的age的平均值。
注:AVG只能确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个avg函数。而且avg函数会忽略列值为NULL的行。
(二)COUNT()函数#
COUNT()函数进行计数。可利用COUNT()函数确定表中行的数目或者符合特定条件的行的数目。
COUNT()有两种使用方式:
1.使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
2.使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。
例如 SELECT COUNT(*) AS num_test FROM test;
此语句对表test所有行进行计数,返回表的总行数,不管行中各列有什么值。
例如 SELECT COUNT(school) FROM test;
此语句只对school列中有值的行进行计数,忽略null行。
(三)MAX()函数#
MAX()函数返回指定列中的最大值。MAX()要求指定列名。
例如SELECT MAX(age) FROM test;
此语句返回表test中age的最大值。
注:MAX()函数忽略值为NULL的行。
(四)MIN()函数#
MIN()函数返回指定列的最小值,MIN()要求指定列名。
例如 SELEC MIN(age) FROM test;
此语句返回最小的age值。
注:MIN()函数忽略列值为NULL的行。
(五)SUM()函数#
SUM()函数来返回指定列值的和(总计)。
SELECT SUM(age)FROM test;
此语句返回age列所有值之和。
注:SUM函数忽略列值为NULL的行。SUM也可以用来合计计算值,SUM(price*count)。
(六)聚集不同值#
对以上5个聚集函数都可以如下使用:
1.对所有行执行计算,指定ALL参数或者不给参数(ALL参数是默认的)
2.只包含不同的值,指定DISTINCT参数
例如SELECT AVG(DISTINCT age) FROM test;
此语句返回age值不同的所有age值的平均值。
注:DISTINCT只能用在列名前面,不能用在表达式前。
作者: 墨颜丶
出处:https://www.cnblogs.com/moyand/p/9019631.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端