一、聚合函数
1.常见的几个聚合函数
1.1 AVG/SUM
- AVG:求平均数
- SUM:求总和
select AVG(salary),SUM(salary)
from employees;
1.2 MAX/MIN
- max/min:适用于时间类型,字符串类型,日期类型(或变量)
select MAX(salary),MIN(salary)
from employees;
1.3 count
- count:计算字段在查询结果中出现的次数。
select count(first_name) from employees;
- count(),count(1),count(字段):那个效率会更高?
如果使用的是5.7版本,该版本的存储引擎是MYISAM,三者效率相同
mysql8的版本存储引擎为InnoDB,count() = count(1) > count(字段)
2.GROUP BY的使用
#GROUP BY
#练习:查询各个部门的平均工资
select AVG(salary),department_id
from employees
group by department_id;
#练习:查询各个部门,各个工种的平均工资
select job_id,department_id,AVG(salary)
from employees
group by department_id,job_id;
- 结论1:select 中出现的字段必须出现在group by 中,反之 group by中出现的字段不一定非要出现在 select 之中。
- 结论2:group by声明在from,where后面,order by,limit的前面