分组函数
功能:用作统计使用,又称为聚合函数或统计函数或组函数。
分类
sun求和、avg平均值、max最大值、min最小值、count计算个数。
特点
1、参数支持哪些类型:sum,avg一般处理数值型数据;max,min,count可以处理任何类型数据。
2、以上分组函数都是忽略null值。
3、以上分组函数都可以和DISTINCT(去重)搭配。
4、count函数:SELECT COUNT(*) FROM employees; 或 SELECT COUNT(常量值) FROM employees;//统计员工信息表employees行数
5、和分组函数一同查询的字段要求是group by后的字段
使用
SELECT SUM(salary) FROM employees;//员工工资和
SELECT AVG(salary) FROM employees;//员工工资平均值
SELECT COUNT(salary) FROM employees;//salary非空值个数
SELECT SUM(salary) 和,AVG(salary) 平均,MAX(salary) 最高,MIN(salary) 最低,COUNT(salary) 个数 FROM employees;
SELECT SUM(salary) 和,ROUND(AVG(salary),2) 平均,MAX(salary) 最高,MIN(salary) 最低,COUNT(salary) 个数 FROM employees;
SELECT SUM(DISTINCT salary) FROM employees;
SELECT AVG(DISTINCT salary) FROM employees;
count函数详细介绍
SELECT COUNT(*) FROM employees;//统计员工信息表行数
employees表假如有三列三行
SELECT COUNT(1) FROM employees;//统计员工信息表行数
employees表中有数据,自动新建“1”表,对应就有新建的数据 1,count(1)统计1的个数,即统计了employees表行数
效率(一般用count(*)做统计函数)
5.5版本之前:MYISAM存储引擎下,COUNT(*)效率高(因有内部计数器)
5.5版本之后:INNODB存储引擎下,COUNT(1)和COUNT(1)效率差不多,比COUNT(字段)要高一些(因为要判断该字段是否为null,不为null加1)