1.聚合函数介绍
聚合函数,也称聚集函数或分组函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。
2.常用的聚合函数
AVG()
:求平均值SUM()
求总和MAX()
:求最大值MIN()
:求最小值COUNT()
:求个数
3.SQL演示
3.1
AVG()
/
SUM()
适用于数值类型。
如:查询员工表的平均工资
SELECTAVG(salary)FROM employees;
操作对象的数据类型如果为字符、时间等,则没有意义。
SELECTSUM(last_name),AVG(last_name),SUM(hire_date)FROM employees;
3.2
MAX()
/
MIN()
适用与数值类型、字符串类型、日期时间类型的字段(或者变量)。
如:查询最高/低员工薪资
SELECTMAX(salary),MIN(salary)FROM employees;
MAX()
/
MIN()
函数可以用于能够排序(
order by
)的数据类型。
比如字符类型,按照字母顺序比较大小,Z最大,A最小。
如:查询最大/小姓名
SELECTMAX(last_name),MIN(last_name)FROM employees;
3.3
COUNT()
作用:计算指定字段在查询结构中出现的个数(不包括
NULL
值)。
实例:查询员工ID出现的次数
SELECTCOUNT(employees_id)FROM employess;
如果表中有员工1-10号,返回结果就是10,因为员工ID出现的10次,等同于下面这样的写法:
SELECTCOUNT(1)FROM employess;
如果计算表中有多少条记录,如何实现?
方式1:
COUNT(*)
方式2:
COUNT(1)
方式3:
COUNT(具体字段)
,但是如果字段中有空值,则这个方式无效
注意:使用
COUNT()
函数计算字段出现次数时,是不计算
NULL
值的。
补充:如果需要统计表中的记录数,使用COUNT(*)\COUNT(1)\COUNT(具体字段),哪个效率更高呢?
如果使用的是
MyISAM
存储引擎,则三者效率相同,都是O(1)
如果使用的是
InnoDB
引擎,则三者效率:COUNT(*)=COUNT(1)> COUNT(具体字段)
版权归原作者 今天自洽了吗 所有, 如有侵权,请联系我们删除。