MySQL学习笔记(六)——分组函数

MySQL学习笔记(六)——分组函数

功能:

用做统计使用,又称为聚合函数或统计函数或组函数web

分类

sum 求和,avg 平均值,max 最大值,min 最小值,count 计算个数sql

特色:

1.sum、avg通常用于处理数值型
 max、min、count能够处理任何类型
2.以上分组函数都忽略null值
3.能够和distinct搭配实现去重的运算
4.count函数的单独介绍
 通常使用count(*)用做统计行数
5.和分组函数一同查询的字段要求是group by后的字段svg

简单的使用

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;

参数支持哪些类型

sum、avg通常用于处理数值型
max、min、count能够处理任何类型函数

是否忽略null值

以上分组函数都忽略null值学习

和distinct搭配

例:spa

SELECT SUM(DISTINCT salary) FROM employees;
SELECT COUNT(DISTINCT salary) FROM employees;

count函数的详细介绍

SELECT COUNT(*) FROM employees;#统计全部行中字段不全为null的行数
SELECT COUNT(1) FROM employees;#加了一列的1,统计全部1的个数

效率:
MYISAM存储引擎下,COUNT( * )的效率高
INNODB存储引擎下,COUNT(*)和COUNT(1)的效率差很少,比COUNT(字段)要高一些code