博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql数据处理函数和分组函数
阅读量:5273 次
发布时间:2019-06-14

本文共 1846 字,大约阅读时间需要 6 分钟。

 

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;    #找出每个工作岗位的最高薪水

转载于:https://www.cnblogs.com/zbzhm3728/articles/11496491.html

你可能感兴趣的文章
分布式Redis深度历险-Sentinel
查看>>
用移动硬盘装windows 7时 遇到 A required CD/DVD device driver is missing 的问题
查看>>
leetcode 51 N-Queens & 52 N-Queens II ----- java
查看>>
图片上传
查看>>
死锁及oracle死锁--转载
查看>>
Android设置监听
查看>>
findByExample(Object exampleEntity)方法得到的List判断是否为空,不可用(lis != null)
查看>>
pip下载保存Python包,pip离线安装
查看>>
mysql建库建表
查看>>
实验五
查看>>
spark生成大宽表的parquet性能优化
查看>>
彩票,随机一注
查看>>
怎么总是这等凶卦
查看>>
浅谈logo在PPT设计中的运用
查看>>
网络那点事之socket队列
查看>>
编程练习:寻找发帖"水王"扩展问题二
查看>>
查询Oracle正在执行和执行过的SQL语句
查看>>
说明性弹性域段
查看>>
15_动态SQL
查看>>
项目协作工具调研
查看>>