暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【MySQL】使用聚合函数查询

play数据de黑球 2021-12-17
382

前期咱们了解了关于MySQL的基本查询和条件查询,相信伙伴们多加练习即可上手。本期内容将了解使用聚合函数查询,让我们一起期待哟 。





01

认识聚合函数



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

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

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

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



02


MySQL聚合函数用法案例



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


*  【SUM()】汇总求和使用方法
案例:假设求汇总的数量是多少?
语法:SELECT SUM(数量) FROM 测试表
复制


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

*  【MAX】求最大值的使用方法
案例:求数量中最大值
语法:SELECT max(数量) as 最大值 FROM 测试表
复制


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


*  【MIN】求最小值的使用方法
案例:求数量中最小值
语法:SELECT min(数量) as 最小值 FROM 测试表
复制

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

*  【AVG】求平均值的使用方法
案例:求四舍五入后的数量的平均值
语法:SELECT ROUND(avg(数量),2) as 平均值 FROM 测试表
复制


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

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

1)【count(*)】计数的使用方法
包括所有列,返回表中的记录数,相当于统计表的行数,在统计结果的时候,不会忽略列值为NULL的记录。

案例:求数量在30以上的个数
语法:SELECT COUNT(*) as 计数 FROM 测试表 where 数量>30
复制


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

案例1:求姓名列的不重复个数
语法:SELECT COUNT(DISTINCT 姓名) as 不重复个数 FROM 测试表
复制


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

案例2:求姓名与数量都不重复的个数
语法:SELECT COUNT(DISTINCT 姓名,数量) as 不重复个数 FROM 测试表
复制


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


03


WHERE 补充



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

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


*  【IN】在WHERE中的使用方法
案例:假设需要查询包含AA/BC/DW的数据
语法:SELECT * FROM 测试表 where 姓名 in ('AA','BC','DW')
复制


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




本期内容完毕,有问题私信哟,我每天都在,一起学习一起进步
文章转载自play数据de黑球,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论