单行数据处理函数
(1)大小写转换函数
(2)substr() 字符串截取函数
注意 第一个参数是所需要截取的字段名称,第二个参数 是从第几个字符开始,第三个参数是,所截取的长度。
还有注意的是默认的起始下标是从1开始的。
(3)length() 长度函数
屏幕剪辑的捕获时间: 2018/1/19 16:59
(4)trim() 去掉字段中的空格 ,他不会去除单词和字符串中间的空格,只会去除字符串前后两边的空格。
Mysql 他默认会去除掉字符串后面的空格。
(5)round() 四舍五入
(6)rand() 随机数生成 是 0-1之间的闭区间
(7)case when then else end
(8)空值处理函数 ifnull()
其中有两个参数,第一个是你要判断的对象,第二个参数若是为空置那就设定的值
mysql中有一个规定,若是数学运算中存在null值,并且不对null值进行处理,计算结果就会为null.
(9)str_to_date()
屏幕剪辑的捕获时间: 2018/1/19 17:52
屏幕剪辑的捕获时间: 2018/1/19 17:50
(10)date_formate()将日期转换为特定格式的字符串
两个参数,第一个:日期类型数据, 日期格式
多行处理函数
(1)分组(多行处理)函数自动忽略空值,不需要加where 处理
(2)分组函(多行处理)数不能直接使用在where关键字后面。
(1)sum() 求和函数
屏幕剪辑的捕获时间: 2018/1/22 13:51
屏幕剪辑的捕获时间: 2018/1/22 13:53
这个与上面不同的是加了一个空值处理函数。
(2)avg() 求平均值函数
屏幕剪辑的捕获时间: 2018/1/22 13:57
(3)max()/min() 求最大最小值
屏幕剪辑的捕获时间: 2018/1/22 14:02
屏幕剪辑的捕获时间: 2018/1/22 14:02
(4)count()
屏幕剪辑的捕获时间: 2018/1/22 14:04
注意count()函数,可以这样使用count(*) 也可以使用 count(具体某个字段)
但是当count()修饰具体某个字段的时候,会自动忽略null值,这里要注意。
(5)distinct去除重复记录。
将查出结果中某一个字段的重复记录去掉。
可以是单个字段也可以是多个字段
Distinct 要放在所有的字段的最前面,才可以。
用法:distinct xxx; 或者 distinct xxx,yyy;后者表示要前面两个字段都满足才可以。
屏幕剪辑的捕获时间: 2018/1/22 14:20
屏幕剪辑的捕获时间: 2018/1/22 14:20
(6)分组查询 group by
需求:找出每个岗位的最高薪水
屏幕剪辑的捕获时间: 2018/1/22 14:30
需求:计算出每个岗位的最高工资,然后按照由低到高的排列
屏幕剪辑的捕获时间: 2018/1/22 14:34
需求:计算每个部门的平均薪水
屏幕剪辑的捕获时间: 2018/1/22 14:40
需求:计算出不同部门不同岗位的最高薪水
屏幕剪辑的捕获时间: 2018/1/22 14:42
需求:找个每个工作岗位的最高薪水,除manager之外。
屏幕剪辑的捕获时间: 2018/1/22 14:45
(8)having 数据过滤函数,但是having 必须和group by一起使用。是对分组之后的数据任然不满意的情况下,使用。
屏幕剪辑的捕获时间: 2018/1/22 14:47
Where 和having的区别
Where 是用在group by 之前,having 是用在group by 之后。
Having 必须和group by 一起使用,而where 不需要。