MySQL学习笔记05-统计函数_字符串_日期_数学函数

2天前 6.4k 0

内容有点多,专心的写,厚积薄发,然后发现你才是王者,嘿嘿

以下介绍的所有函数,均既可以在查询中使用,又可以在插入数据中使用。

dual表是一个 MySQL 内置的一个不存在的虚表,方便做测试用的。

1、统计函数1.1 Count (统计数量)1.2 Sum(求和)1.3 Avg(求平均值)1.4 Max/Min(求最大和最小)2、分组3、字符串函数3.1 Charset(字符集)3.2 Concat(拼接字符串)1.3 Length(计算字节数)3.4 Replace(替换字符串函数)3.5 Substring(切片取子串)3.6 Left|right(从首尾取子串)3.7 Lcase|ucase(字符串大小写)3.8 Ltrim|rtrim|trim(去除首尾空格)3.9 Strcmp(比较两字符串的大小)3.10 instr(索引子串的位置)4、数学函数4.1 Abs(取绝对值)4.2 进制转换4.3 上下取整4.4 Format(格式化数字)4.5 Mod(取余数)4.7 Greatest|least(求最大和最小)4.8 rand(随机数)总结:

写作环境:

MacOS、MySQL8.0

写SQL工具:Navicat15.0和电脑自带终端

写作软件:Typora

作者:西园公子:www.zwjjiaozhu.top

预计阅读完本文需:7分钟

01 统计函数

用来测试代码例子的表t9,表内容如下,本章所有操作均是使用该表。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-1

1.1 Count(统计数量)

1)COUNT(*):统计满足条件的行数量,*表示匹配所有。

小例子1:统计数学在 90 到 100 之间的行数量?

MySQL学习笔记05-统计函数_字符串_日期_数学函数-2

2)count(column_name):统计满足列column_name不为NULL的数量。

小例子2:统计数学不为空的行数量?

MySQL学习笔记05-统计函数_字符串_日期_数学函数-3

1.2 Sum(求和)

SUM(column_name):求出所有满足条件的列(column_name)对应的数值相加的总和。

小例子3:求出满足数学在 90 到 100 之间所有行的英语之和?

MySQL学习笔记05-统计函数_字符串_日期_数学函数-4

1.3 Avg(求平均值)

AVG(column_name):求出所有满足条件的列(column_name)对应的数值相加总和的平均值。

小例子4:求出满足数学在 90 到 100 之间所有行的英语之和的平均值?

MySQL学习笔记05-统计函数_字符串_日期_数学函数-5

1.4Max/Min(求最大和最小)

MAX([distinct] column_name):求出所有满足条件的 column_name  对应的数值相的最大值。

MIN(column_name):求出所有满足条件的列(column_name)对应的数值相的最小值。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-6

02 分组

超级重点,必须要掌握!

MySQL学习笔记05-统计函数_字符串_日期_数学函数-7

1)GROUP BY column_name:按照 column_name 为一组进行分组

小例子5:按照英语分数进行分组,求出每组的英语总和、英语数量、英语的平均值?

MySQL学习笔记05-统计函数_字符串_日期_数学函数-8

2)HAVING:指定分组的过滤条件,通常与GROUP BY配合使用。

小例子6:按照英语分数进行分组,且英语总和大于100分,求出每组的英语总和、数学总和?

MySQL学习笔记05-统计函数_字符串_日期_数学函数-9

03 字符串函数

主要是关于字符串相关的拼接、大小写互转、求长度之类的。

3.1 Character(字符集)

charset(column_name):返回列字符段对应的字符集。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-10

3.2 Concat(拼接字符串)

concat(column_name, str, ……):拼接字符串,可以拼接列字段。

小例子7:对表中的每个字段都拼接出形如 “数学:98,英语:82” 并输出?

MySQL学习笔记05-统计函数_字符串_日期_数学函数-11

3.3Length(计算字节数)

length(str):返回字符串 str 的字节数。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-12

注:汉字一般是 3 个字节,一个字母是 1 个字节。

3.4 Replace(替换字符串)

replace(str, old, new):将字符串 str 中的 old 字符串替换成 new 字符串。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-13

3.5 Substring(切片取子串)

substring(str, position, len):返回字符串 str 的从位置[positon, position+len]的子串。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-14

注:如果不设置 len 的值则默认是到最后。

3.6 Left|Right(从首尾取子串)

left(str, len):从最左边开始取 len 长度的字符串并返回。right(str, len):从最右边开始取 len 长度的字符串并返回。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-15

3.7 Lcase|Ucase(字符串转大小写)

lcase(str):转成小写,ucase(str):转成大写。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-16

3.8 Ltrim|Rtrim|Trim(去除首尾空格)

ltrim(str):去除 str 最左边的空格,rtrim(str):去除 str 最右边的空格,trim(str):去除 str 首尾两端的空格。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-17

3.9 Strcmp(比较两字符串的大小)

strcmp(str1, str2):逐字符比较 str1 和 str2 的大小。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-18

注:后面 str2 的比前一个 str1 大则返回 1 , 否则返回 -1

3.1 instr(索引字符串的位置)

instr(str, substr):返回子串 substr 在 str 中的首位置。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-19

注:索引是从 1 开始计数

04 数字函数

4.1 Abs(取绝对值)

abs(num):返回数字类型的 num 的绝对值。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-20

4.2 进制转换

bin(num):十进制转 2 进制,oct(num):十进制转 8 进制,hex(num):十进制转 16 进制。(binary、octonary、hexadecimal)

MySQL学习笔记05-统计函数_字符串_日期_数学函数-21

conv(num, from_base, to_base):将数字 num 从 from_base 进制转成 to_base 进制。(convert)

MySQL学习笔记05-统计函数_字符串_日期_数学函数-22

4.3 上下取整

ceiling(num):向上取整,取大于 num 的最小整,floor(num):向下取整,取小于 num 的最大整数。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-23

4.4 Format(格式化数字)

fromat(num, num_places):将数字 num 转成保留 num_places 位小数的数(四舍五入)

MySQL学习笔记05-统计函数_字符串_日期_数学函数-24

4.5 Mod(取余数)

mod(num, num2):返回 num 除以 num2 的余数。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-25

4.7 Greatest|least(求最大和最小)

greatest(value1, value2, ...):返回里面的最大值,l
east(value1, value2, ...):返回里面的最小值。

其中参数 value 可以是混合参数:

  • 如果有一个参数是NULL ,则立即返回 NULL,不做任何比较。

  • 如果参数是数字和字符串混合的,则按照数字进行进行比较。

MySQL学习笔记05-统计函数_字符串_日期_数学函数-26

小例子8:使用greatest方法求出,每一个同学的英语、数学、68 中的最大值,并输出?

MySQL学习笔记05-统计函数_字符串_日期_数学函数-27

4.8 Rand(产生随机数)

rand(send):若不设置 send 参数,会产生成一个 0 和 1之间的随机数,若设置 seed 则会生成一个定值

MySQL学习笔记05-统计函数_字符串_日期_数学函数-28

MySQL学习笔记05-统计函数_字符串_日期_数学函数-29MySQL学习笔记05-统计函数_字符串_日期_数学函数-30

总结

MySQL学习笔记05-统计函数_字符串_日期_数学函数-31MySQL学习笔记05-统计函数_字符串_日期_数学函数-32

说明:本文章的代码统一使用图片显示,主要是因为效果好,如果你想复制代码进行练习的话,可以到文章底部的原文链接

对应的文章,里面有详细的代码。

内容有点多,需多多练习,熟能生巧~

MySQL学习笔记05-统计函数_字符串_日期_数学函数-33关注我,和我一起向大牛前进吧~

相关文章

OCP 4.x 特性解读:可观测性、高可用和易用性全面升级
第 55 期:MySQL 频繁 Crash 怎么办?
openGauss学习笔记-217 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-内存
Oracle 19C PDB迁移报错 ORA-17628: error 65338 returned by remote Oracle server
【ORACLE】Oracle数据库并发控制、多版本控制、数据库独立性与应用性能优化
Oracle 基础数据库服务新增 AMD VM 标准 E5 Flex 配置

发布评论