MySql简介--常用聚合函数
聚合函数又称为分组函数,对当前所在表当做一个组进行统计。本节主要介绍一些常用的聚合函数。
一、count,求数据表中非NULL值的个数
select count(*/字段名) from 数据表
计算表中有多少条数据
SELECT count(*) FROM dept_emp;
根据dept_no进行分类,计算每个类别有多少条数据
SELECT count(*) FROM dept_emp group by dept_no;
根据dept_no进行分类,查询数据条数大于1的数据
SELECT count(*) FROM dept_emp group by dept_no HAVING count(*)>1;
count与distinct结合,如求表中dept_no的数量,即有几个部门,那么相同的部门只能算一个,语句可以如下
SELECT COUNT(DISTINCT dept_no) as '部门数量' FROM dept_emp;
二、sum,求和,对数据表的某一列进行求和
与count不同,count是求有多少条数据,而sum是对数据求和
求表中salary的总和
SELECT sum(salary) as 'Total salary' from dept_manager;
根据from_date进行分组,求每个组的和
SELECT sum(salary) as 'Total salary' from dept_manager GROUP BY from_date;
三、max&min,求最大值或者最小值
求一组数据中的最大值或者最小值
求上表中薪资最大值或者最小值
SELECT max(salary) as 'Max salary' from dept_manager ;
SELECT min(salary) as 'Max salary' from dept_manager ;
四、avg,求某一列数据的平均值
对数据表中的某一列的值,求平均值
求上表中salary的平均值
SELECT avg(salary) as 'avg salary' from dept_manager ;
根据from_date进行分组,并求每组的平均值
SELECT avg(salary) as 'avg salary' from dept_manager GROUP BY from_date ;