MySQL聚合函数
1.聚合函数介绍
-
什么是聚合函数
聚合函数作用于一组数据,并对一组数据返回一个值
-
聚合函数类型
- AVG()
- SUM()
- MAX()
- MIN()
- COUNT()
-
聚合函数语法
SELECT [column,] group function(column), ... FROM table [WHERE condition] [GROUP BY column] [ORDER BY column];
1.1 AVG和SUM函数
可以对**
数值型数据
**使用AVG和SUM函数。SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary) FROM employees WHERE job_id LIKE '%REP%';
1.2 MIN和MAX函数
可以对**
任意数据类型
** 的数据使用MIN和MAX函数SELECT MIN(hire_date),MAX(hire_date) FROM employees WHERE department_id = 50;
1.3 COUNT函数
COUNT(*)返回表中记录总数,适用于任意数据类型
SELECT COUNT(*) FROM employees WHERE department_id = 50;
COUNT(expr)返回expr不为空的记录总数
SELECT COUNT(commission_pct) FROM employees WHERE department_id = 50;
问题:用count(*),count(1),count(列名)谁好呢?
MyISAM引擎没有区别,这种引擎内部有一计数器在维护着行数。
Innodb引擎的表用count(*), count(1) 直接读行数,复杂度是o(n),因为Innodb真的要去数一遍,但好于具体的count(列名)。
问题&#