Mysql聚集函数
运行在行组上,计算和返回单个值的函数
函数 | 说明 |
---|---|
AVG() | 返回某列的平均值 |
COUNT | 返回某列的行数 |
MAX() | 返回某列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某列之和 |
AVG():
select avg(sal)from emp1;//计算所有员工的平均薪资
avg(sal) |
---|
2073.214286 |
select deptno,avg(sal)from emp1 group by deptno;//按部门分组,计算各部门的薪资
deptno | avg(sal) |
---|---|
10 | 2916.666667 |
20 | 2175.000000 |
30 | 1566.666667 |
tips:AVG()自动忽略列值为NULL的行,例如,计算平均的补贴的时候:
select avg(comm)from emp1;
avg(comm) |
---|
550.000000 |
comm的数据如下
ename | comm |
---|---|
SMITH | NULL |
ALLEN | 300.00 |
WARD | 500.00 |
JONES | NULL |
MARTIN | 1400.00 |
BLAKE | NULL |
CLARK | NULL |
SCOTT | NULL |
KING | NULL |
TURNER | 0.00 |
ADAMS | NULL |
JAMES | NULL |
FORD | NULL |
MILLER | NULL |
count():用来计数的函数,用于表示行的数目或者符合特定条件的行的数目
count(*):对行的数目进行计数,不考虑它是否为NIULL。
和
count(column):对特定列中的具有值的行进行计数,忽略NULL值。
select count(*) from emp1;
count(*) |
---|
14 |
select count(comm) from emp1;
count(comm) |
---|
4 |
MAX():返回指定列中的最大值,忽略为null的值
MIN():
SUM():忽略为null的值