MySQL-分组函数
分组函数

sum函数
SELECT SUM(`salary`) FROM employees;

简单使用

多个一起显示
select sum(`salary`) 和,AVG(`salary`) 平均,MIN(`salary`) 最低,MAX(`salary`) 最高,COUNT(`salary`) 个数 FROM employees;

将平均值保留两个小数
select sum(`salary`) 和,round(AVG(`salary`),2) 平均,MIN(`salary`) 最低,MAX(`salary`) 最高,COUNT(`salary`) 个数 FROM employees;

分组函数的特点

可以和distinct搭配实现去重的运算
SELECT SUM(DISTINCT salary) ,SUM(salary) FROM employees;

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

count函数的详细介绍
SELECT COUNT(salary) FROM employees;
#统计行数
SELECT COUNT(*) FROM employees;
#统计1的个数 会在统计的表中加入一列1
SELECT COUNT(1) FROM employees;
#统计家教的个数 会在统计的表中加入一列家教
SELECT COUNT('家教') FROM employees;


和分组函数一同查询的字段有限制

查询公司员工工资的最大值,最小值,平均值,总和
SELECT MAX(`salary`) mx_sal,MIN(`salary`) mi_sal,ROUND(AVG(`salary`),2) ag_sal,SUM(`salary`) sm_sal
FROM `employees`

DATEDIFF()函数能够查询日期的差
select datediff(now(),'1999-04-29');

查询员工表中的最大入职时间和最小入职时间的相兰天效(DIFFRENCE)
SELECT DATEDIFF(MAX(`hiredate`),MIN(`hiredate`)) DIFFRENCE
FROM `employees`;

查询部门编号为90的员工个数
select count(*) 个数
from employees
where department_id=90;

转载请注明出处,欢迎讨论和交流!

浙公网安备 33010602011771号