MySQL聚合函数

9.6聚合函数

Mysql 系统提供了很多的函数

Count:统计个数,次数,null不统计

Max:最大值

Min:最小值

Sum:求和

Avg:平均值

Round:四舍五入

有使用聚合函数的时候,一般都会给别名

9.6.1 count 函数

1)查询emp表中记录数

Count*; 不会忽略null的值

 select count(*) from emp;

 

2)统计emp表中,有提成的人数

Count(具体字段),null的话会被忽略

select count(comm) from emp;

 

3)工资大于2500的员工的人数

 select count(*)from emp where sal > 2500;

 

4)薪资(工资+奖金)大于2500的员工的人数

 select count(*)from emp where sal+ifnull(comm,0) > 2500;

 

5)查询有提成的人数,有上一级领导的人数

  select count(comm),count(mgr) from emp where mgr or comm;

 

9.6.2 sum 求和,avg平均分,round四舍五入

  (1)查询所有员工工资总和

 select sum(sal) from emp;

 

 

  (2)查询所有员工工资总和、提成总和

  select sum(sal),sum(comm) from emp;

 

  

 (3)查询所有员工工资总和、提成总和、薪资

  select sum(sal),sum(comm),sum(sal + ifnull(comm,0)) money from emp;

 

  

  (4)计算员工的平均工资

  select avg(sal),avg(comm) from emp;

 

  

  (5)平均工资,保留2位小数

  select round(avg(sal),0) money,avg(comm)from emp;

  

 

9.6.3 maxmin

Max 最大值 和 Min 最小值

查询员工表中,工资最高的、最低的

select max(sal)max_sal,min(sal)min_sal from  emp;

 

9.6.4 分段函数 case

员工表中,根据薪资不一样,给不一样的评论

>4000,NB666

>3000,NB66

>2000,NB6

<2000,ZZ

 

select sal,

Case

 when sal>4000 then "NB666"

when sal>3000 then "NB66"  

when sal>2000 then "NB6"

 else"ZZ"

 end as pj

 from emp;

9.6.5字符串截取

Left A,4)从左边开始截取4个字符

RightA,4)从右边开始截取4个字符

截取中间:

Select SUBSTRING_INDEX(SUBSTRING_INDEX(原字段,‘开头条件‘,-1),‘结尾条件‘,1)

 select substring(hiredate,6,2) from emp where empno=‘7788‘;

1987-04-19-1987

1)获取员工的入职年份

 select ename,hiredate,left(hiredate,4)from emp;

 

2)获取员工的入职工龄

select ename,hiredate,2021-left(hiredate,4)from emp;

 

MySQL聚合函数

上一篇:MySQL删除数据


下一篇:MongoDB集群分片管理之哈希分片