【MySQL】常用的五个聚合函数

1.聚合函数介绍

聚合函数,也称聚集函数或分组函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。

2.常用的聚合函数

  • AVG():求平均值
  • SUM()求总和
  • MAX() :求最大值
  • MIN():求最小值
  • COUNT():求个数

3.SQL演示

3.1AVG() / SUM()
适用于数值类型。
如:查询员工表的平均工资

SELECT AVG(salary)
FROM employees;

操作对象的数据类型如果为字符、时间等,则没有意义。

SELECT SUM(last_name),AVG(last_name),SUM(hire_date)
FROM employees;

3.2MAX() / MIN()
适用与数值类型、字符串类型、日期时间类型的字段(或者变量)。
如:查询最高/低员工薪资

SELECT MAX(salary),MIN(salary)
FROM employees;

MAX() / MIN()函数可以用于能够排序order by)的数据类型。
比如字符类型,按照字母顺序比较大小,Z最大,A最小。
如:查询最大/小姓名

SELECT MAX(last_name),MIN(last_name)
FROM employees;

3.3COUNT()
作用:计算指定字段在查询结构中出现的个数(不包括NULL值)。
实例:查询员工ID出现的次数

SELECT COUNT(employees_id)
FROM employess;

如果表中有员工1-10号,返回结果就是10,因为员工ID出现的10次,等同于下面这样的写法:

SELECT COUNT(1)
FROM employess;

如果计算表中有多少条记录,如何实现?
方式1:COUNT(*)
方式2:COUNT(1)
方式3:COUNT(具体字段),但是如果字段中有空值,则这个方式无效
注意:使用COUNT()函数计算字段出现次数时,是不计算NULL值的。

补充:如果需要统计表中的记录数,使用COUNT()\COUNT(1)\COUNT(具体字段),哪个效率更高呢?
如果使用的是MyISAM存储引擎,则三者效率相同,都是O(1)
如果使用的是InnoDB引擎,则三者效率:COUNT(
)=COUNT(1)> COUNT(具体字段)

Supongo que te gusta

Origin blog.csdn.net/hold_on_qlc/article/details/130474685
Recomendado
Clasificación