功能:
用作统计使用,又称为聚合函数或统计函数或组函数
分类:
sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数
特点:
1、sum、avg一般用于处理数值型
max、min、count可以处理任何类型
2、以上分组函数都忽略null值
3、可以和distinct搭配实现去重的运算
4、count函数的单独介绍
一般使用count(*)用作统计行数
5、和分组函数一同查询的字段要求是group by后的字段
1、简单 的使用
select sum(salary) from employees;select avg(salary) from employees;select min(salary) from employees;select max(salary) from employees;select count(salary) from employees;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;
2、参数支持哪些类型
select sum(last_name),avg(last_name) from employees; 0 0
select sum(hiredate),avg(hiredate) from employees;-2148552443000000-20079929373831.7757
select max(last_name),min(last_name) from employees;-Zlotkey-Abel
select max(hiredate),min(hiredate) from employees;-2016-03-03 00:00:00-1992-04-03 00:00:00
select count(commission_pct) from employees;35
select count(last_name) from employees 107
3、是否忽略null
select sum(commission_pct),avg(commission_pct),sum(commission_pct)/35,sum(commission_pct)/107 from employees;
select max(commission_pct),min(commission_pct) from employees;
select count(commission_pct) from employees;
select commission_pct from employees;
4、和distinct搭配
select sum(distinct salary),sum(salary) from employees;
select count(distinct salary),count(salary) from employees;
5、count函数的详细介绍
select count(salary) from employees;
select count(*) from employees;
select count(1) from employees;
效率:
MYISAM存储引擎下 ,COUNT(*)的效率高
INNODB存储引擎下,COUNT(*)和COUNT(1)的效率差不多,比COUNT(字段)要高一些
6、和分组函数一同查询的字段有限制
select avg(salary),employee_id from employees
