9.6聚合函数

标题MySQL系统提供了很多的函数

Count:统计个数、次数,null不统计
Max:最大值
Min:最小值
Sum:求和
Avg:平均值
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;
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)) from emp;

#(4)查询员工的平均工资
select avg(sal),avg(comm) from emp;
+-------------+------------+
| avg(sal)    | avg(comm)  |
+-------------+------------+
| 2073.214286 | 550.000000 |
+-------------+------------+

#(5)平均工资 保留2位小数
select round(avg(sal),2),avg(comm) from emp;

9.6.3max和min

##max最大值和min最小值
#查询员工表中,工资最高的 最低的
select max(sal),min(sal) from emp;

9.6.4分段函数

##分段函数c a s e
##员工表中,根据薪资不一样 给不一样的评论
      >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;

##需求:根据入职时间不同打不同星
入职时间>21年,3星
入职时间>20年,2星
<20年,1星

9.6.5字符串截取

Left(A,4)从左边开始截取4个字符
Right(A,4)从右边开始截取4个字符
我  爱  你
##截取
1987-04-19 ->1987
select left ('1987-04-19',4)
##(1)获取员工是入职年份
select ename,hiredate,left(hiredate,4) from emp;

#(2)获取员工的入职工龄
select ename,hiredate,2021 - left(hiredate,4) from emp;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值