Mysql聚合函数的使用介绍
前言
聚合函数用来对表中的数据进行统计和计算。users表结构如下:
什么是聚合函数
聚合函数是用来做简单的数据统计的,比如说统计一下 “员工表” 中的平均工龄是多少年啊,员工表中一共有多少条记录等等… 这些都需要使用到聚合函数。
聚合函数也被称为 “汇总函数” ,在数据的查询分析中,应用的十分广泛。可以帮助我们实现对数据的求和、求最大值、求最小值、求平均值等等。
如果不指定统计的范围,那么聚合函数统计的范围就是整张数据表,该章节我们所讲解的 “聚合函数” 就是针对整张数据表范围的。
聚合函数演示案例:(求员工表中的平均月收入是多少?)
SELECT AVG(sal + IFNULL(comm,0)) AS 平均工资
from t_emp;
— AVG:聚合函数,求平均值使用
— IFNULL:IFNULL 函数的语法,当第一个参数的值为null 的时候,则返回第二个参数的值
from t_emp;
— AVG:聚合函数,求平均值使用
— IFNULL:IFNULL 函数的语法,当第一个参数的值为null 的时候,则返回第二个参数的值
PS:需要注意的地方,在聚合函数的返回结果集(无论是求和、最大值、最小值、还是求平均数),结果集只有一个返回数据。
SUM 函数
SUN 函数用于求和,只能用于数字类型;如果用于字符类型的数据,则统计结果为0;如果用于时间类型的数据的求和,则结果是毫秒数的相加。
SQL 语句演示 SUM函数 案例(统计 10、20 部门的员工的月薪的总和)
SELECT SUM(sal)
FROM t_emp
WHERE deptno IN (10, 20)
FROM t_emp
WHERE deptno IN (10, 20)
SQL 语句演示 SUM函数 案例(统计 ename(字段) 的综合 )
SELECT SUM(ename)
FROM t_emp
WHERE deptno IN (10, 20)
FROM t_emp
WHERE deptno IN (10, 20)
count
使用count统计某个字段的总行数,要注意区分包含null和不包含null
//不包含null
select count(user_id) from users; //8
//包含null
select count(*) from users; //10
select count(user_id) from users; //8
//包含null
select count(*) from users; //10
max与min
max和main函数用来求某一列的最大值/最小值
//求男生的最大年龄
select max(age) from user where gender = ‘男’; //6
select max(age) from user where gender = ‘男’; //6
sum
使用sum对某一列进行求和
//对age大于30的列进行求和
select sum(age) from users where age>30;
//求平均年龄
select sum(age) / count(*) from usersl;
select sum(age) from users where age>30;
//求平均年龄
select sum(age) / count(*) from usersl;
avg
avg函数用来计算列的平均值
//求男生的平均年龄,结果不准null列没有计算在内
select avg(age) from users where gender = ‘男’;
//将age为null的也计算在内
select avg(ifnull(age,0)) from users where gender = ‘男’;
select avg(age) from users where gender = ‘男’;
//将age为null的也计算在内
select avg(ifnull(age,0)) from users where gender = ‘男’;
总结
- count函数用来求某一字段的行数不包含null,count(*)用来求总行数
- max\min函数用来计算某一列的最大\最小值
- sum函数对某一列进行求和
- avg函数用来计算平均数
- 在对列进行计算式,聚合函数会默认忽略值为null的记录,使用ifnull进行null值的替换
到此这篇关于Mysql聚合函数的使用介绍的文章就介绍到这了,更多相关Mysql聚合函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!