分组函数
功能:
用作统计使用,又称为聚合函数或者统计函数或组函数
分类:
sum求和,avg平局值,max最大值,min最小值,count计算个数
以上分组函数都忽略null值
一、简单使用
select sum(salary)from employees;
select avg()
select min()
select max()
select count()
以上操作均可放在一条操作语句中,英文逗号隔开,起别名增加可读性,也可以嵌套数学函数。
二、参数支持哪些类型
sum和avg一般处理数值型
max,min可以处理数值型,字符型,日期型。
count可以处理为空(null)的字段
三、是否忽略null
sum忽略了null,因为null+任意值为null,而sum(salary)为具体值,
avg,max,min,count同理
四、和distinct搭配使用
select count(distinct salary)from employees;
计算工资种类
五、count函数的详解
select count()from employees;
使用count()统计行数(常用)
select count(1)from 。。。;
统计+1的个数,也相当于统计行数。
效率:
MYISAM存储引擎下,count()的效率最高
INNODB存储引擎下,count(*)和count(1)效率差不多,比count(字段值)高
六、和分组函数一同查询的字段有限制,
可以是group by后的字段
avg(salary),employee_id这种就没有意义
分组查询
/*
select 分组函数,列(要求出现在group by后面)
from 表
【where 筛选条件】
group by 分组的列表
【order by 子句】
*/