Mysql 中系统提供了很多函数
Count:统计个数,次数,null不统计
Max:最大值
Min:最小值
Sum:求和
Avg:平均值
Round:四舍五入
使用聚合函数时一般都会给别名
9.6.1 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.3max和min函数
##(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字符串的截取
Left(a,4)从左边截取4个字符
Right(a,4)从右边截取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;
原文转载:http://www.shaoqun.com/a/688732.html
hts:https://www.ikjzd.com/w/525
首信易支付:https://www.ikjzd.com/w/1841
Mysql中系统提供了很多函数Count:统计个数,次数,null不统计Max:最大值Min:最小值Sum:求和Avg:平均值Round:四舍五入使用聚合函数时一般都会给别名9.6.1count函数##count函数count(*):不会忽略null的值.#(1)查询emp表中记录数Selectcount(*)fromemp;##(2)统计emp表中,有提成的人数##count(具体字段),nul
慧聪商务网:https://www.ikjzd.com/w/1836
优1宝贝:https://www.ikjzd.com/w/1507
菜鸟网:https://www.ikjzd.com/w/1547
亚马逊订单断崖式下跌,旺季回笼或将成为泡影?:https://www.ikjzd.com/home/129582
和广告投放相比,Facebook红人营销有哪些好处?:https://www.ikjzd.com/home/132364
分享7个亚马逊选品小妙招!:https://www.ikjzd.com/home/126793
No comments:
Post a Comment