mysql数据处理函数和分组函数

 

mysql数据处理函数

1.单行数据处理函数

Lower    转换小写

upper     转换大写

substr    取子串(subste(被截取的字符串,起始下标,截取的长度)

length    取长度

trim        去除字符串前后空格

str_to_date  将字符串转换成日期

date_format   格式化日期

format      设置千分位

round     四舍五入

rand()    生产随机数(0~1之间)

Ifnull  可以将null转换成一个具体值

注意:数据处理函数是该数据库本身特有的,有些函数可能在其它数据库不起作用

例子演示:
select  lower(ename)  as  lowername  from  emp;  #将ename字段转换成小写并取别名lowername

select  substr(ename,1,1) as ename  from  emp;        #截取员工名称字段首字母

select  length(ename) as  enameLength  from  emp;  #获取ename字段的长度

select  *  from  emp  where  ename = trim(' king   ');   #去掉字符串前后空格

select  ename,(sal+ifnull(comm,0))*12 as yearsal  from emp;  #计算薪水实际年薪

select  ename,hiredate  from  emp  where  hiredate = '1981-12-03';    #查询1981年12月3日入职的员工信息

select  ename,hiredate  from  emp  where  hiredate = str_to_date('12-03-1981','%m-%d-%Y');

date_format   格式化日期

select  date_format(hiredate,'%Y%m%d')  as  hiredate  from  emp;    #  日期转换

 select  date_format(hiredate,'%Y/%m/%d')  as  hiredate  from  emp;   #  日期转换

2.多行数据处理函数

     常用以下几种

 

什么是单行处理函数,什么是多行处理函数?

单行函数是一行输入对应一行输出

多行处理函数都是多行输入对应一行输出

注意:

例子:sum()

select  sum(sal)  as  sunsal  from  emp;        #计算工资总额

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

select  sum(comm)  as  sumcomm  from  emp;   #分组函数会自动忽略空值

例子:avg()

 select  avg(sal)  as  avgsal  from  emp;      #  计算公司平均薪水

例子:max()

select  max(sal)  as maxsal  from emp;

例子:min()

select  min(sal)  as minsal  from emp;

例子:count()

select  count(*)   from  emp  where comm is null;    #统计没有补助的人数(*按行统计)

select  count(comm)  as  empNum  from  emp;      #统计有补助的人数(自动忽略空值)

select  count(*)  from  emp  where  comm is  not  null;      #统计有补助的人数(*按行统计)

distinct去除重复记录

例子:

select  distinct job from emp;    #查询公司有那些工作岗位

select  count(distinct job)  from rmp;    #查询公司有那些工作岗位

select  distinct deptno,job  from emp  order by deptno;    #去除部门编号deptno和工作岗位job重复的记录

分组查询:group by

例子:

select  job,max(sal)  as  maxsal from emp group by job;    #找出每个工作岗位的最高薪水

posted @ 2019-09-10 11:29  紫柏之梦  阅读(300)  评论(0编辑  收藏  举报