聚合函数——MySQL
文章目录
- 聚合函数
- 常见函数导图
- 1 字符函数
- 2.数字函数
- 3.日期函数
- 4.其他函数
- 5.流程控制函数
聚合函数
常见函数导图
就相当于C语言的函数
好处;
- 隐藏了实现细节 2. 提高了代码的重用性
分类:
- 单行函数:const、length、ifnull等
- 分组函数:
- 字符函数
- 日期函数
- 数组函数
- 其他函数
- 流程控制函数
1 字符函数
length:获取参数值的字节个数
select length('join');
结果为4
select length('数值为678');
结果为12,因为一个字母占1个字节,一个汉字占3个字节concat:拼接字符串
select concat(last_name,'_',firts_name) from employees;
会把所用last_name和firts_name拼接成last_name_firts_name的形式upper:改大写、lower:改小写
select upper('home');
会把home变成HOME将姓变大写,名变成小写,然后拼接在一起,并该别名为姓名
select concat ( upper ( last_name ) , lower ( firts_name ) ) as 姓名 from employees;
substr:索引
注意:索引的从1开始
select substr ( '一二三四五六七八',5) as out_put;
会输出五六七八,会截取从第5开始往后的所有字符。select substr('一二三四五六七八',2,3) as out_put;
会输出二三四,第1个字符代表截取的位置,第2个字符代表截取的个数。(包含截取位置字符)
案例:姓名中首字母大写(检索第一个然后转大写),其他字符小写(检索从第二个开始然后转小写),然后用_拼接显示出来。
select concat(upper(substr(last_name,1,1),'_',lower(substr(last_name,2))) as out_put
instr:返回子串,在大的串中的第一次出现的位置,如果没有显示0
select instr('总在屏幕上打出','屏幕') as out_put;
会返回2trim:去掉前面和末尾指定的所有字符。
select trim(' 路人甲 ');
会删掉路人甲前面和后面的空格。去指定的字符
select trim('a' from 'aaaa路aa人aa甲aaaa')
会返回:aa人aa甲,只会去掉首尾的a,而不会去掉中间的。lpad:左填充,用指定的字符实现左填充,是填充后的字符达到指定长度。
select lpad('奔波霸',10,'*') as out_put;
会输出:*******奔波霸select lpad('奔波霸',2,'*') as out_put;
会输出:奔波,在最后面截断一个,使字符串达到指定长度。rpad:右填充
replace: 替换,如果有重复的就都进行替换。
select replace('路人甲,宋兵乙,炮灰丙','宋兵乙','土匪丁') as out_out;
会输出路人甲,土匪丁,炮灰丙:用土匪丁 替换 宋兵乙
2.数字函数
round 四舍五入,保留结果的小数点位数
四舍五入
select round(-1.55);
结果为 -2,无论是正数还是负数,都可以把负号先去掉,然后进行四舍五入,再加上正负号。保留小数点位数
select round(1.567,2);
结果为1.56,第2个参数2就是保留小数点后两位小数。
ceil 向上取整(返回>=该参数的最小整数)
ceil(1.002);
结果依然为2
ceil(1.00);
结果就为1。floor 向下取整(返回<=该参数的最小整数)
floor(1.002);
结果依然为1
floor(-9.7);
结果就为-10。mod 取余
select mod(10,3);
结果为1。10 % 3 = 1
select mod(10,-3);
结果为1。10 % -3 = 1
select mod(-10,3);
结果为1。-10 % 3 = -1truncate 清空表,截断表
只能用于表,删除表中的全部数据rand 获取随机数
返回[0-1)之间的随机数
3.日期函数
now 返回当前系统日期+时间
select now();
curdate 返回当前系统日期,不包含时间
select curate();
curtime 返回当前时间,不包含日期
select curtime();
可以获取指定部分时间,年、月、日、小时、分钟、秒
select year(now());
年
select year('1998-1-1')
获得字符串中的年份1998获取数据库中某一个项中的年份。
select year(hiredata) as 年 from employees;
select mouth(now()) as 月
中文的月
select mouthname(now()) as 英文月
英文的月str_to_data:将日期格式的字符转换成指定格式的日期
select str_to_date('1999-3-2','%Y+%c+%d') as out_put;
会输出显示:1999+03+02格式符 功能 %Y 4位的年份 %y 两位的年份 %m 月份(01,02…11,12) %c 月份(1,2…11,12) %d 日(01-31) %H 小时(24小时制) %h 小时(12小时制) %i 分钟(01-60) %s 秒(01-60) 查询入职日期为1999-4-3的员工信息
select * from employees where hiredate = '1999-4-3'
date_format:将日期转换成字符
date_format('2018/6/6','%Y年%m月%d日');
select date_format(now(),'%Y年%m月%d日') as out_put;
查询有奖金的员工名和入职时间(xx月/xx日xx年)
select laxt_name,date_format(hiredate,'%m月%d日%Y年') as 入职时间
form employees
where commission_pct
4.其他函数
- version() 查看版本号
- database() 查看当前所在那个数据库
- user() 查看当前用户
- password(‘字符’) 返回输入字符的密码形式
- md5(‘字符’) 返回输入字符的md5加密形式
5.流程控制函数
if函数: if else的效果相同
select if(10>5,'大','小')
返回大case :与switch case的效果相同
句型:
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1
when 常量2 then 要显示的值2或语句2
...
else 要形式的直n或语句n
(当上面都不符合时执行这条默认的语句)
end
查询员工的工资要求:部门号=30,显示工资的1.1倍,部门号=40,显示员工号的1.2倍,部门号=50,显示工资的1.3倍。
case department_id
when 30 then salary*1.1
when 40 then salary*1.2
when 50 then salary*1.3
else salary
end;
聚合函数——MySQL相关推荐
- Day458.聚合函数 -mysql
聚合函数 聚合(或聚集.分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值. 一.聚合函数介绍 什么是聚合函数 聚合函数作用于一组数据,并对一组数据返回一个值. 聚合函数 ...
- mysql聚合函数count用法_MySQL中聚合函数count的使用和性能优化技巧
本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是 ...
- mysql的聚合函数文档_MySQL聚合函数
MySQL聚合函数 MySQL的聚合函数用于对多个值执行计算,并将结果返回为单个值,如所有值的平均值,所有值的总和以及某些值组中的最大值和最小值.我们通常将聚合函数与数据查询语言中的SELECT语句一 ...
- mysql的所有聚合函数_MySQL 聚合函数(一)聚合(组合)函数概述
MySQL版本:5.7+ 一.MySQL 5.7中的聚合函数 MySQL 5.7中的聚合函数如下: 除非另有说明,否则组合函数会忽略NULL值. 如果在不包含Group By子句的语句中使用组合函数, ...
- mysql的聚合函数综合案例_MySQL常用聚合函数详解
一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...
- mysql常用命令行操作(二):表和库的操作、引擎、聚合函数
一.查看.创建.删除数据库 create database library default character set utf8 collate utf8_general_ci; # 创建数据库并设置 ...
- mysql 给表起别名_MySQL ------ 高级联结 (自联结,自然联结,外联结,带聚合函数的联结)(十五)...
一.表别名 1.别名除了可以用于列名和计算字段也可以用于给表起别名. 2.使用表别名可以缩短SQL语句,可以在单条select 语句中多次使用相同的表,就是表别名的作用范围在此条语句中 select ...
- mysql函数数组参数_MYSQL数组聚合函数,如PostgreSQL array_agg
我在MYSQL上有两个表,我想知道MYSQL上是否有任何聚合函数作为array_agg()FROM postgreSQL. 表1属性仅有8条记录 表2捕获该属性的记录,因此对于同一属性有时可以是1或n ...
- mysql DML操作、关联查询、联合查询、聚合函数使用
目录 DML操作 关联查询.联合查询 按条件查询.聚合函数使用 DML操作 CREATE DATABASE db2USE db2; CREATE TABLE stu(sid INT PRIMARY K ...
最新文章
- php doss_php下ddos攻击与防范代码
- 【数据结构与算法】之深入解析“缺失的第一个正数”的求解思路与算法示例
- Gh0st源码学习(二)去除硬盘锁和驱动
- WordPress+Markdown+为知笔记,实现高质量笔记和博客
- 三、scrapy爬虫框架——scrapy模拟登陆
- qt android程序联网死机,Qt for Android(九) ——APP 崩溃卡死拉起保活实战
- Springboot知识库系统答辩PPT模板
- 001 Python中的变量和字符串
- 记录一次es商品门店查询,关键字SearchSourceBuilder
- 拼音模糊搜索 php,基于 XunSearch(迅搜)SDK 的全文搜索 Laravel 5.* 软件包,支持全拼、拼音简写、模糊搜索、热门搜索、搜索提示...
- 0x80004005错误代码解决方法,哪种方法快捷有效?
- 做APM领域德国队,笃信技术和极简体验的听云打造历程
- 商业智能BI全解析,探寻BI本质与发展趋势
- 再高贵的打工人都得在体检报告前低下高贵的头颅
- mysql identity sqlserver_mysql和sqlserver的区别
- 电磁原理---电磁炉
- 数据,数据对象,数据元素,数据项的关系图
- m3u8链接加密源码
- mysql函数if为负数_MySQL的if,case语句
- 蜻蜓FM实时推荐系统的发展和演进