MySQL数据库中常见的聚合函数有哪些

认识聚合函数

在数据分析过程中,我们经常需要对一组数据进行计算,求其最大值、最小值、平均值、总和及数量等,这种行为被称之为聚合分析;而用来实现聚合分析的函数,被称之为聚合函数;

聚合函数是对一组数据(一列或多列)进行处理,返回单个结果;而普通函数则通常是对一组数据中的每条记录进行处理,返回的是一组结果;

聚合函数可以再HAVING使用但不能再WHERE条件中使用;

在SQL中,常用的聚合函数如下:

图片[1]-MySQL数据库中常见的聚合函数有哪些-不念博客

MySQL聚合函数用法案例

以下案例需要用到的数据源(表名称:测试表)

图片[2]-MySQL数据库中常见的聚合函数有哪些-不念博客

【SUM()】汇总求和使用方法

案例:假设求汇总的数量是多少?

语法:SELECT SUM(数量) FROM 测试表
图片[3]-MySQL数据库中常见的聚合函数有哪些-不念博客

【as】一般是重命名列名或表名,为了查询方便美观,上面的语句可以理解将汇总求和的数据重新命名一个列名

【MAX】求最大值的使用方法

案例:求数量中最大值

语法:SELECT max(数量) as 最大值 FROM 测试表
图片[4]-MySQL数据库中常见的聚合函数有哪些-不念博客

将MAX()函数应用于文本数据时,会返回该列按照升序排列的最后一行

【MIN】求最小值的使用方法

案例:求数量中最小值

语法:SELECT min(数量) as 最小值 FROM 测试表
图片[5]-MySQL数据库中常见的聚合函数有哪些-不念博客

将MIN()函数应用于文本数据时,会返回该列按照升序排列的第一行。

【AVG】求平均值的使用方法

案例:求四舍五入后的数量的平均值

语法:SELECT ROUND(avg(数量),2) as 平均值 FROM 测试表
图片[6]-MySQL数据库中常见的聚合函数有哪些-不念博客

【ROUND()】四舍五入的函数,与Excel的用法大致相同

【count(*)】与【count(列名)】计数使用方法

在使用计数函数时,尽量不要使用【count(*)】语句,除非已经进行了条件筛选,例如使用WHERE子句等,因为运用【*】是进行全表扫描,运行速度会很慢容易出问题!

【count(*)】计数的使用方法

包括所有列,返回表中的记录数,相当于统计表的行数,在统计结果的时候,不会忽略列值为NULL的记录。

案例:求数量在30以上的个数

语法:SELECT COUNT(*) as 计数 FROM 测试表 where 数量>30
图片[7]-MySQL数据库中常见的聚合函数有哪些-不念博客

【count(列名)】计数使用方法只包括列名指定列,返回指定列的记录数,在统计结果的时候,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内

案例1:求姓名列的不重复个数

语法:SELECT COUNT(DISTINCT 姓名) as 不重复个数 FROM 测试表
图片[8]-MySQL数据库中常见的聚合函数有哪些-不念博客

:【DISTINCT】用来去除查询结果中的重复记录的,可多列一并去重,所有的汇总函数都可以使用DISTINCT

案例2:求姓名与数量都不重复的个数

语法:SELECT COUNT(DISTINCT 姓名,数量) as 不重复个数 FROM 测试表
图片[9]-MySQL数据库中常见的聚合函数有哪些-不念博客

解释:使用DISTINCT多列去重,用count计数姓名与数量都不重复的个数

WHERE 补充

在讲条件查询语句时有了解AND与OR的用法【MySQL】条件语句,可以多条件查询,而今天补充的是IN的用法,实际是in语句是or语句的简便写法,用in来写相对更简洁。

以下案例需要用到的数据源(表名称:测试表)

图片[10]-MySQL数据库中常见的聚合函数有哪些-不念博客

【IN】在WHERE中的使用方法

案例:假设需要查询包含AA/BC/DW的数据

语法:SELECT * FROM 测试表 where 姓名 in ('AA','BC','DW')
图片[11]-MySQL数据库中常见的聚合函数有哪些-不念博客

:文本用单引号,数值不用,条件之间用逗号隔开

© 版权声明
THE END