聚合函数

Mysql 中系统提供了很多函数

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

Max最大值

Min最小值

Sum求和

Avg平均值

Round四舍五入

 

使用聚合函数时一般都会给别名

 

9.6.count函数

##count函数

count(*):不会忽略null的值.

#1)查询emp表中记录数

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;

 

9.6.2sum,avg,round函数

##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 round (avg(sal),2),avg(comm)from emp;

 

9.6.3maxmin函数

##1)查询员工表中,工资最高的和工资最低的。

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

9.6.4分段函数 case

成绩的处理具体成绩—五个成绩

优>90

良>80

中>70

及格>60

差<60

##分段函数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字符串的截取

Lefta4从左边截取4个字符

Righta4从右边截取4个字符

 ##需求:根据入职时间打不同星

 入职时间>40年 ,3

 入职时间>39年 ,2

 <39年 ,1

 

##截取

1987-04-19 -1987

select right('1987-04-19',4)

###1)获取员工的入职年份

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

 

###2)获取员工的入职工龄

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

posted @ 2021-04-15 08:21  晚风踩着云  阅读(404)  评论(0编辑  收藏  举报