天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
我寄愁心与明月,随君直到夜郎西。
——《闻王昌龄左迁龙标遥有此寄》
文章目录
- MySQL 常用函数汇总(包括说明与举例)
- 1. 字符函数
- 1.1 字符串拼接(concat(str1,str2,...))
- 1.2 查找子串位置(instr(str, substr))
- 1.3 获取字符串长度(length(str))
- 1.4 字符左填充(lpad(str, len, fillstr))
- 1.5 字符右填充(rpad(str, len, fillstr))
- 1.6 子串替换(replace(str, substr, replacestr))
- 1.7 字符串截取(substr(str, start, len))
- 1.8 剔除字符串前后空格(trim(str))
- 1.9 字符串字母转大写(upper(str))
- 1.10 字符串字母转小写(lower(str))
- 1.11 应用到实际查询
- 2. 数学函数
- 2.1 向上取整(ceil(x))
- 2.2 向下取整(floor(x))
- 2.3 取余(mod(x,y))
- 2.4 绝对值(abs(x))
- 2.5 平方根(sqrt(x))
- 2.6 指数(pow(x,E))
- 2.7 随机数(rand())
- 2.8 四舍五入保留指定小数位(round(x, dlen))
- 2.9 千分位(format())
- 2.10 截取数值的位数(truncate(x,D))
- 2.11 获取符号(sign())
- 2.12 获取给定集合中的最大值(greatest())
- 2.13 获取给定集合中的最小值(least())
- 2.14 ip转数字(inet_aton(ip))
- 2.15 将ip对应的数字转为ip地址(inet_ntoa(num))
- 2.16 md5加密(md5(str))
- 2.17 password加密(password(str))(可忽略)
- 2.18 sha1加密(sha1(str))
- 2.19 encode加密(encode(str,pass_str))
- 2.20 decode加密(decode(str,pass_str))
- 3. 时间函数
- 3.1 获取系统当前时间-年月日时分秒(now())
- 3.2 获取当前时间-年月日(curdate())
- 3.3 获取当前时间-时分秒(curtime())
- 3.4 获取年(year())
- 3.5 获取月(month())
- 3.6 获取日(day())
- 3.7 获取时(hour())
- 3.8 获取分(minute())
- 3.9 获取秒(second())
- 3.10 获取周(weekofyear())
- 3.11 获取季(quarter())
- 3.12 获取月最后一天(last_day())
- 3.13 字符串转时间(str_to_date(str,format))
- 3.14 时间转字符串(date_format(date,format))
- 3.15 获取偏移后的时间(date_add())
- 3.16 获取两个时间之间相差的天数(datediff(end_date,start_date))
- 3.17 获取两个时间相差的时间(timestampdiff())
- 4. 系统信息函数
- 4.1 查看系统版本信息(version())
- 4.2 获取当前连接唯一id(connection_id())
- 4.3 查看当前正在使用的数据库(database())
- 4.4 查看当前正在使用数据库-软件层面(schema())
- 4.5 获取当前用户(user())
- 4.6 获取当前用户(session_user())
- 4.7 获取当前用户(system_user())
- 4.8 获取当前用户(current_user())
- 4.9 获取当前使用的字符集(charset())
- 4.10 获取当前使用的字符串排列方式(collation())
- 4.11 获取当前使用的字符集(show character set)
- 4.12 查看当前正在连接的线程列表信息(show processlist)
- 4.13 查看服务器状态变量的值(show status)
- 4.14 查看服务器配置参数(show variables)
- 5. 流程控制函数
- 5.1 条件控制(if())
- 5.2 判断是否为null(ifnull())
- 5.3 等值判断case-when
- 5.4 区间判断case-when
- 5.5 聚合函数配合使用case-when
- 6. 聚合函数
- 6.1 平均值(avg(x))
- 6.2 统计(count(x))
- 6.3 最大值(max(x))
- 6.4 最小值(min(x))
- 6.5 求和(sum(x))
- 7. 示例相关建表插值sql
MySQL 常用函数汇总(包括说明与举例)
MySQL函数分为单行函数和聚合函数,单行函数中又有字符函数、数学函数、日期函数、系统函数、流程控制函数等
为了不影响阅读体验,本文示例中相关的表数据对应的建表sql和插数据的sql都在文末贴出,可自行复制建表插值
1. 字符函数
用于处理字符串, 包括字符串的连接、比较、大小写转换等函数
1.1 字符串拼接(concat(str1,str2,…))
concat(str1,str2,…)函数,将字符串拼接,其中参数可以是多个,最后会将所有参数拼接成一个字符串
示例如下
select concat("作者", ":", "李白", " 男", " 汉族", " 高科技人才所在地人员", " 互联网冲浪选手") as 作者信息;
1.2 查找子串位置(instr(str, substr))
instr(str, substr)函数,在字符串str中查找子串substr的位置(索引),找到后返回子串在字符串中的索引,找不到则返回0
示例如下
select instr("这是一个很寂寞的天下着有些寂寞的雨", "天下") as 天下第一次出现的位置;
这里从1开始数,和索引的数法不一样
1.3 获取字符串长度(length(str))
length(str)函数,获取字符串长度,单位字节
utf-8字符集的数据一个英文占1个字节,一个中文占3个字节
gbk字符集的数据一个英文占1个字节,一个中文占2个字节
示例如下
select length("李白") as 字节长度;
1.4 字符左填充(lpad(str, len, fillstr))
lpad(str, len, fillstr)字符左填充,在字符串str的左边填充字符fillstr直到满足长度为len个字符
示例如下
select lpad("高堂明镜", 9, "人") as 左填充后的字符串;
这里高堂明镜
四个字符,左侧添加五个人后达到9个字符
注:第二个参数len一定要大于第一个参数中字符的个数才能看到效果
1.5 字符右填充(rpad(str, len, fillstr))
rpad(str, len, fillstr)字符左填充,在字符串str的右边填充字符fillstr直到满足长度为len个字符
示例如下
select rpad("高堂明镜", 3, "人") as 右填充后的字符串;
1.6 子串替换(replace(str, substr, replacestr))
replace(str, substr, replacestr)子串替换,将str中的子串substr替换为目标字符replacestr
示例如下
select replace("千金散尽还复来", "散尽","聚财") as 替换后的字符串;
注:当实际应用中,replace只针对某个字段操作,无法全局查找替换,如需全局可尝试循环语句
1.7 字符串截取(substr(str, start, len))
substr(str, start, len)字符串截取,在字符串str中从start位置后截取长度为len的子串,如果不指定len则从start开始截取到末尾
示例如下
select substr("全栈还是Java,这是一个值得思考的问题", 4, 8) as 截取的子串;
从第4个字符是
后面开始,截取8个字符
注意:这里参数start的数值在str字符串中数的话从1开始,并非指索引
参数len也并非是指截取到的索引,而是从start个字符开始,截取长度为len的子串
1.8 剔除字符串前后空格(trim(str))
trim(str)剔除字符串前后空格,不会剔除字符串中间的空格
示例如下
select trim(" 忽如一夜春风来 千树万树梨花开 ") as 剔除空格后的字符串;
1.9 字符串字母转大写(upper(str))
upper(str)将字符串中的所有字母变为大写
示例如下
select upper("LiBai is a man") as 转大写后的字符串;
1.10 字符串字母转小写(lower(str))
lower(str)将字符串中的所有字母变为小写
示例如下
select lower("LiBai is a man") as 转小写后的字符串;
1.11 应用到实际查询
除了指定的字符串操作外,在实际应用中,我们可以将函数中的str换成我们表中的某个需要操作的字段
示例如下
如创建表tb_user_info
字段包含用户名username
并插入几条数据,其中包username值为李白
select replace(username, "李白", "李太白") as 替换后的姓名 from tb_user_info;
2. 数学函数
用于处理数学计算,包括绝对值、正弦、余弦、随机数等函数
2.1 向上取整(ceil(x))
ceil(x)向上取整, 返回>=参数x的最小整数,即获取大于等于指定数字的最小整数
示例如下
select ceil(2.4) as 向上取整后的值;
select ceil(2.8) as 向上取整后的值;
2.2 向下取整(floor(x))
floor(x)向下取整, 返回<=参数x的最大整数,即获取小于等于指定数字的最大整数
示例如下
select floor(2.4) as 向下取整后的值;
select floor(2.8) as 向下取整后的值;
2.3 取余(mod(x,y))
mod(x,y)取余,被除数x为正数则结果就是正数,被除数x为负数则结果为负数
x表示被除数
y表示除数
示例如下
select mod(13, 7) as 13除以7后取余;
2.4 绝对值(abs(x))
abs(x)函数,获取x的绝对值
abs时absolute的缩写
示例如下
select abs(-6);
2.5 平方根(sqrt(x))
sqrt(x)函数,获取x的平方根
sqrt是sqruar和root的缩写
sqruar平方,矩形
root根
示例如下
select sqrt(4);
2.6 指数(pow(x,E))
pow(x, E)指数计算,x为底数,E为指数,意为x的E次方
示例如下
select pow(4, 2) as 4的2次方;
2.7 随机数(rand())
rand()函数,用于生成随机数
注意,rand()无参数和rand(x)有参数的区别
rand()无参数生成一个[0,1]之间的float类型的随机数,此随机数是随机的且不可重复
rand(x)有参数生成一个以x为种子的随机数,每次使用相同的x值进行生成的随机数相同,该随机数生成可重复,故称为伪随机数
x为int类型的数字
示例如下
select rand(),rand(),rand(1),rand(1);
2.8 四舍五入保留指定小数位(round(x, dlen))
round(x, dlen)四舍五入后保留指定小数位,将x四舍五入保留dlen位小数
负数四舍五入则先将符号忽略,按照正数四舍五入后将符号加上
示例如下
select round(1.3573936478, 2) as 四舍五入保留2位小数;
2.9 千分位(format())
format(x,y)函数,对x进行千分位并保留y位小数(会进行四舍五入)
示例如下
select format(123456.123456,4);
2.10 截取数值的位数(truncate(x,D))
truncate(x, D)截取数值的位数,当D为正数时则表示保留小数点后的几位,当D为0则表示保留整数部分(即保留小数点后0位),当D为负数则表示从小数点往左数将D个整数位数字改为0并保留整数部分
示例如下
select truncate(313233.414243, 3) as 小数点后保留3位后的结果;
select truncate(313233.414243, 0) as 小数点后保留0位即取整后的结果;
select truncate(313233.414243, -3) as 小数点前三位改为0后取整的结果;
2.11 获取符号(sign())
sign(x)函数,获取x值的符号,如果是正数则返回1,如果是负数则返回-1,如果是0则返回0
示例如下
select sign(5), sign(-5), sign(0);
2.12 获取给定集合中的最大值(greatest())
greatest()函数,获取传入集合中最大的值
示例如下
select greatest(1,3,5,7,9,11,4,44,6);
2.13 获取给定集合中的最小值(least())
least()函数,获取传入集合中最大的值
示例如下
select least(1,3,5,7,9,11,4,44,6);
2.14 ip转数字(inet_aton(ip))
inet_aton(ip)函数,将ip地址转为数字
示例如下
select inet_aton('192.168.1.110');
2.15 将ip对应的数字转为ip地址(inet_ntoa(num))
inet_ntoa(num)函数,将ip数字值转为ip地址
示例如下
select inet_ntoa(3232235886);
2.16 md5加密(md5(str))
md5(str)函数,生成一个128位的加密串,返回一个32位的16进制数
如果str为null,则返回的值为null
不可逆
示例如下
select md5('libai') as md5加密后的值;
2.17 password加密(password(str))(可忽略)
password(str)函数,通常用于创建用户时对密码进行加密,所以这个参数在我现在的mysql工具中无法执行,报错
不可逆
示例如下
select password('libai') as password加密后的密码;
注:MySQL 5.7.6开始该函数已经被废弃,建议使用更安全的alter user进行设置密码
2.18 sha1加密(sha1(str))
sha1(str)函数,生成一个160位的加密串,返回一个40位的16进制数
不可逆
示例如下
select sha1('libai') as sha1加密后的密码;
2.19 encode加密(encode(str,pass_str))
encode(str,pass_str)函数,使用pass_str作为密钥对str进行加密
可逆
示例如下
select encode('libai','libaikey') as sha1加密后的密码;
2.20 decode加密(decode(str,pass_str))
decode(str,pass_str)函数,使用pass_str作为密钥对str进行加密
可逆
示例如下
将前面加密后的字符串拿过来
select decode('encode-libai','libaikey') as sha1解密后的密码;
或者
select decode(encode('libai','libaikey'),'libaikey') as sha1解密后的密码;
3. 时间函数
用于处理日期和时间,包括获取当前时间、当前日期等函数
严格来说时间是指时分秒,而年月日则是日期,当然日期也是时间
当我们使用日期或者时间转换时,会用到以下参数,分别代表不同的时间格式
符号 | 含义 |
---|---|
%a | 缩写星期名 |
%b | 缩写月名 |
%c | 月,数值(1-12) |
%D | 带有英文前缀的月中的天(例如,Mon) |
%d | 日,月的天,数值(00-31) |
%e | 日,月的天,数值(0-31) |
%f | 微秒 |
%H | 小时(00-23) |
%h | 小时(1-12) |
%I | 分钟,数值(00-59) |
%i | 分钟,数值(00-59) |
%j | 年的天(001-366) |
%M | 月名(January-December) |
%m | 月,数值(00-12) |
%p | AM或PM |
%r | 时间,12小时(hh:mm AM或PM) |
%S | 秒(00-59) |
%s | 秒(00-59) |
%T | 时间,24小时(hh:mm) |
%U | 周(00-53),星期日是一周的第一天 |
%u | 周(00-53),星期一是一周的第一天 |
%V | 周(01-53),星期日是一周的第一天,与%X使用 |
%W | 星期名(Sunday, Monday, …, Saturday) |
%Y | 年份,数值(4位数的年份,如2025) |
%y | 年份,数值(2位数的年份,如25) |
3.1 获取系统当前时间-年月日时分秒(now())
now()函数,获取系统当前时间,返回年月日时分秒
示例如下
select now() as 系统当前时间;
3.2 获取当前时间-年月日(curdate())
curdate()函数,获取系统当前年月日,不包含时分秒
示例如下
select curdate() as 当前时间年月日;
3.3 获取当前时间-时分秒(curtime())
curtime()函数,获取系统当前时分秒,不包含年月日
select curtime() as 当前时间时分秒;
3.4 获取年(year())
year()函数,获取年,需要传入参数,可以是日期类型也可以是函数
示例如下
select year(now()) as 当前时间年;
select YEAR("2024,10,25") as 当前时间年;
3.5 获取月(month())
month()函数,获取月,需要传入参数,可以是日期类型也可以是函数
示例如下
select month() as 当前时间月;
select MONTH("2025,06,10") as 当前时间月;
3.6 获取日(day())
day()函数,获取日,需要传入参数,可以是日期类型也可以是函数
示例如下
select day(now()) as 当前时间日;
select month("2025,06,10") as 当前时间日;
3.7 获取时(hour())
hour()函数,获取时,需要传入参数,可以是时间类型也可以是函数
示例如下
select hour(now()) as 当前时间小时;
select hour("2025,06,10") as 当前时间小时;
这里没有具体时间时默认0
select hour("2025,06,10 16") as 当前时间小时;
或
select hour("2025,06,10 16:14") as 当前时间小时;
或
select hour("2025,06,10 16:14:55") as 当前时间小时;
3.8 获取分(minute())
minute()函数,获取分,需要传入参数,可以是时间类型也可以是函数
示例如下
select minute(now()) as 当前时间分钟;
select minute("2025,06,10") as 当前时间分钟;
这里没有具体时间时,读取的是开头两位
select minute("2025,06,10 16") as 当前时间分钟;
日期后只有一位则值为0
select minute("2025,06,10 16:14") as 当前时间分钟;
参数包含分钟时,正确读取
select minute("2025,06,10 16:14:55") as 当前时间分钟;
3.9 获取秒(second())
second()函数,获取秒,需要传入参数,可以是时间类型也可以是函数
示例如下
select second(now()) as 当前时间秒钟;
select second("2025,06,10") as 当前时间秒钟;
这里没有具体时间时默认取第三第四位
select second("2025,06,10 16") as 当前时间秒钟;
select second("2025,06,10 16:14") as 当前时间秒钟;
select second("2025,06,10 16:14:55") as 当前时间秒钟;
3.10 获取周(weekofyear())
weekofyear()函数,获取传入参数时间所属的周数,需要传入参数,可以是时间类型也可以是函数
示例如下
select weekofyear(now()) as 当前时间所属的周数;
select weekofyear("2024,03,27") as 当前时间所属的周数;
3.11 获取季(quarter())
quarter()函数,获取传入参数时间所属的季度
示例如下
select quarter(curdate()) as 当前时间所属的季度;
select quarter("2025,04,24") as 当前时间所属的季度;
3.12 获取月最后一天(last_day())
last_day()函数,获取传入参数所属月份的最后一天的日期
示例如下
select last_day(now()) as 当月最后一天的日期;
select last_day("2025,02,01") as 当月最后一天的日期;
3.13 字符串转时间(str_to_date(str,format))
str_to_date(str,format)函数,将字符串按照指定格式转换成时间
示例如下
select str_to_date("2025,1,17", "%Y,%c,%d") as 转换后的时间;
或
select str_to_date("25,1,17", "%y,%c,%d") as 转换后的时间;
3.14 时间转字符串(date_format(date,format))
date_format(date,format)函数,将时间按照指定格式转换成字符串
示例如下
select date_format("2025/1/18","%Y年%m月%d日") as 转换后的字符串时间;
3.15 获取偏移后的时间(date_add())
date_add(time, interval num timeunit)函数,获取传入参数time偏移num后的时间
time 传入时间,可以是年月日时分秒
interval 固定写法,表示偏移或者计算
num 自然数,如0,1,-1等,当为正数表示之后,负数则表示之前
timeunit 时间单位,可以是年月日时分秒的英文单词,如year、month、day、hour、minute、second
示例如下
select curdate() as 当前日期, date_add(curdate(),interval -1 year) as 一年前, date_add(curdate(),interval 1 year) as 一年后, date_add(curdate(),interval 1 month) as 一个月后;
3.16 获取两个时间之间相差的天数(datediff(end_date,start_date))
datediff(end_date,start_date)函数,获取两个时间之间相差的天数
示例如下
select datediff(curdate(),"2000-01-10") as 出生天数;
select concat("出生",datediff(curdate(),"2000-01-10"),"天") as 出生天数;
3.17 获取两个时间相差的时间(timestampdiff())
timestampdiff(unit,start,end)函数,获取两个时间相差的时间
单位unit可以是如下单位
单位 | 含义 |
---|---|
year | 年份 |
month | 月份 |
day | 天 |
hour | 小时 |
minute | 分钟 |
second | 秒 |
microsecond | 微秒 |
week | 周数 |
quarter | 季度 |
示例如下
select timestampdiff(year,"2004-08-28",curdate()) as 相差年数;
4. 系统信息函数
用于获取MySQL数据库系统信息,包括获取数据库名、当前用户、数据库版本等的函数
4.1 查看系统版本信息(version())
version()函数,查看MySQL系统版本信息
示例如下
select version();
4.2 获取当前连接唯一id(connection_id())
connection_id()函数,查看当前登入用户的唯一连接ID
注,不会一直累加,不同情况返回的值可能不一样,需要研究一下计数机制
示例如下
select connection_id() as 当前用户连接次数;
4.3 查看当前正在使用的数据库(database())
database()函数,查看当前正在使用的数据库
示例如下
select database();
4.4 查看当前正在使用数据库-软件层面(schema())
schema()函数,查看当前正在使用的数据库,软件层面,可以把database等同于schema理解
示例如下
select schema();
4.5 获取当前用户(user())
user()函数,获取当前用户,与system_user()、session_user()函数等价,返回用户名和主机名
示例如下
select user();
4.6 获取当前用户(session_user())
session_user()函数,获取当前用户,与user()、system_user()函数等价,返回用户名和主机名
示例如下
select session_user();
4.7 获取当前用户(system_user())
system_user()函数,获取当前用户,与user()、session_user()函数等价,返回用户名和主机名
示例如下
select system_user();
4.8 获取当前用户(current_user())
current_user()函数,获取当前用户
与上面三个函数有所不同的是,current_user()函数在MySQL会话使用代理用户进行时,返回的时代理用户的身份,而前面三个都会返回原始用户的身份
示例如下
select current_user();
4.9 获取当前使用的字符集(charset())
charset()函数,获取当前使用的字符集
示例如下
select charset('STR');
字符集决定表中可以存储那种类型的字符
其中常见的几种字符集如下
utf8
utf8mb4
gbk
big5
ucs2
binary
latin1
等等
4.10 获取当前使用的字符串排列方式(collation())
collation()函数,获取当前使用的字符串排列方式
示例如下
select collation("aaa");
4.11 获取当前使用的字符集(show character set)
show character set,获取系统可以使用的字符集
示例如下
show character set;
4.12 查看当前正在连接的线程列表信息(show processlist)
show processlist 展示系统正在连接的线程信息列表
除了展示当前连接的线程外,还可以展示未连接
show all processlist 展示所有连接和未连接的线程信息
示例如下
show processlist;
结果字段说明
字段 | 含义 |
---|---|
Id | 连接的标识符 |
User | 执行连接的MySQL用户名 |
Host | 连接的主机名或IP地址 |
db | 当前正在使用的数据库 |
Command | 当前执行的命令类型,如Query或Sleep |
Time | 连接已经运行的时间,单位秒 |
State | 连接的当前状态 |
Info | 当前执行的SQL语句或其他相关信息 |
4.13 查看服务器状态变量的值(show status)
查看服务器状态使用show status命令,可以查看服务器所处的状态变量值,如Aborted_clients、Aborted_connects等
show status;
4.14 查看服务器配置参数(show variables)
查看MySQL服务器的配置参数使用show variables
show variables;
除此之外还可以使用模糊查询,如查看超时相关的配置参数
show variables like '%timeout%';
5. 流程控制函数
用于选择sql语句中的控制条件,包括if语句、case语句、where语句等
5.1 条件控制(if())
if(expr,v1,v2)函数,如果expr为true,则返回v1,如果expr为false,则返回v2,实现了if-else的效果
示例如下(建表和插值sql语句请参考文末表tb_if_score
)
select score,if(score<60,"不及格","及格") as 是否及格 from tb_if_score;
5.2 判断是否为null(ifnull())
ifnull()函数,判断v1是否为null,如果v1不为null则返回v1,如果v1为null则返回v2
示例如下
select ifnull(3,4),ifnull(null,4);
5.3 等值判断case-when
实现多条件的查询值
用法:
case 字段或表达式 when 值1 then 要显示的值1或别名1 when 值2 then 要显示的值2或别名2 else 要显示的值n或别名n end
注,when then组合可以有多个
示例如下(建表和插值sql语句请参考文末表tb_if_score
)
select score, case score when 80 then "精准" when 60 then "优雅" else "其他" end as "分数类型" from tb_if_score;
5.4 区间判断case-when
实现if-else if-else的效果
用法:
case 字段或表达式 when 条件1 then 要显示的值1或别名1 when 条件2 then 要显示的值2或别名2 else 要显示的值n或别名n end
注,when then组合可以有多个
示例如下(建表和插值sql语句请参考文末表tb_if_score
)
select score, case score when score>=60 and score<80 then "及格" when score>=80 and score<100 then "优秀" when score=100 then "王炸" else "不及格" end as "分数类型" from tb_if_score;
5.5 聚合函数配合使用case-when
case-when和聚合函数联用
示例如下(建表和插值sql语句请参考文末表tb_if_score
)
select max(score) 最高分,min(socre) 最低分,avg(score) 平均分,
sum(case when score>60 then 1 else 0 end)/count(*) 及格率,
sum(case when scor>=70 and score<80 then 1 else 0 end)/count(*) 中等率,
sum(case when scor>=80 and score<90 then 1 else 0 end)/count(*) 优良率,
sum(case when scor>=90 and then 1 else 0 end)/count(*) 优秀率,
from tb_if_score;
6. 聚合函数
6.1 平均值(avg(x))
avg(x)函数,返回指定组的平均值,空值会被忽略,x的值需整型或小数类型
示例如下
select avg(score) as 成绩平均值 from tb_if_score;
6.2 统计(count(x))
count(x)函数,返回指定组中项目的总数
示例如下
select count(student_id) as 班级人数 from tb_if_score;
6.3 最大值(max(x))
max(x)函数,返回指定数据组的最大值,x的值需整型或小数类型或时间类型
示例如下
select max(score) as 最高成绩 from tb_if_score;
6.4 最小值(min(x))
min(x)函数,返回指定数据组的最小值,x的值需整型或小数类型或时间类型
示例如下
select min(score) as 最低成绩 from tb_if_score;
6.5 求和(sum(x))
sum(x)函数,返回指定数据组的总和,只能用于数字列,空值会被忽略,,x的值需整型或小数类型
示例如下
select sum(score) as 成绩总和 from tb_if_score;
7. 示例相关建表插值sql
tb_if_score
建表
create table tb_if_score(
id int auto_increment primary key,
student_id varchar(20) not null default "" comment "学生id",
score int not null default 0 comment "成绩"
);
插值
insert into tb_if_score (student_id, score) values ("081413301",45), ("081413302",80), ("081413303",64), ("081413304",55), ("081413305",62), ("081413306",77), ("081413307",89), ("081413308",32), ("081413309",92), ("081413310",66);
感谢阅读,祝君暴富!
版权声明:
- 作者:寒山李白
- 博客地址:https://hanshan.blog.csdn.net/
- 版权:本作品采用《创作共享许可证》进行许可,根据该许可授权的内容可在符合本许可证条款的前提下自由使用、、修改和创作衍生作品。
版权许可介绍:
本文采用CC BY-NC-SA许可证
此许可允许在使用者仅出于非商业目的以任何媒体或格式分发、重新混合、改编和构建材料,并且前提是注明创作者。如果您重新混合、改编或基于该材料进行构建,则必须按照相同的条款对修改后的材料进行许可。
更多信息请访问以下网址查看:
版权官网 https://creativecommons.org/licenses/by-nc-sa/4.0/
中文翻译 https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans