26《MySQL 教程》聚合函数(聚合函数 MIN、MAX)

26《MySQL 教程》聚合函数(聚合函数 MIN、MAX),第1张

MySQL 的常见的聚合函数有 AVG、COUNT、SUM、MIN、MAX,上一小节介绍了 AVG、COUNT、SUM 三种聚合函数,本小节介绍如何使用 MIN、MAX 两种聚合函数,另外再介绍一下如何在 GROUP BY 中使用聚合函数。

以 teacher 表为例,先查所有 teacher 信息:

查询结果如下图:

可以使用 MIN() 函数对结果集取年龄最小值的数据:

执行结果如下图:

以 student 表为例,先查看所有 student 信息:

查询结果如下图:

可以使用 MAX() 函数对结果集取年龄最大值的数据:

执行结果如下图:

以 student_course、course、student 表内连接查询为例:

查询结果如下图:

使用 AVG 函数取分组数据平均年龄:

执行结果如下图 :

可以使用 HAVING 对上述结果筛选,例如选出选课学生平均年龄大于 20 的课程数据:

执行结果如下图:

本小节介绍了如何使用 MIN、MAX 两种聚合函数对查询结果集进行筛选,还介绍了如何在 GROUP BY中分组使用聚合函数,并且使用 HAVING 后面的条件对分组数据进行筛选,需要注意的是聚合函数产生的数据列最好重命名,这是因为后端程序语言在处理这些数据时需要规范的字段名,例如:

查询结果如下图:

语法:

语法:

语法:

语法:

语法:

其中:

column_name为要舍入的字段

decimal规定要返回的小数位数

ROUND()函数始终返回一个值。当decimals为正数时,column_name四舍五入为decimal所指定的小数位数。为decimals为负数时,column_name则按decimals所指定的在小数点的左边四舍五入

特别的,如果length是负值且大于小数点前的数字个数,ROUND()函数将返回0

实例如下:

ROUND( X ):返回参数 X 四舍五入后的一个整数

ROUND(X, D): 返回参数 X 四舍五入且保留 D 位小数后的一个数字。如果 D 为 0,结果将没有小数点或小数部分

ISNULL()

ISNULL() 函数用于判断字段是否为NULL,只有一个参数 column_name 为列名,根据 column_name 列中的字段是否为NULL值返回0或1

语法:

其中:

如果 column_name 列中的某个字段是NULL则返回1,不是则返回0

IFNULL()

IFNULL() 函数也是用于判断字段是否为NULL,但是与 ISNULL() 不同的是它接收两个参数,第一个参数 column_name 为列名,第二个参数value相当于备用值

语法:

其中:

如果 column_name 列中的某个字段是NULL则返回value值,不是则返回对应内容

COALESCE(column_name, value) 函数作用和用法和IFNULL()相同

实例如下:

COUNT() 函数用于计数,可利用其确定表中行数的数目或者符合特定条件的行的数目。当 COUNT() 中的参数不同时,其的用途也是有明显的不同的,主要可分为以下三种情况: COUNT(column_name) 、 COUNT(*) 、 COUNT(DISTINCT column_name)

COUNT(column_name)

COUNT(column_name) 函数会对指定列具有的行数进行计数,但是会除去值为NULL的行。该函数只要用于查看和列数据的数量情况,便于统计数据的缺失值

假设出现某一列的数据全为NULL值得情况

使用 COUNT(column_name) 函数对该列进行计数,会返回0

语法:

COUNT(*)

COUNT(*) 函数会对表中行的数目进行计数,包括值为NULL所在行和重复项所在行

该函数主要用于查看表中的记录数

语法:

注意: count(column_name) 和 count(*) 的区别

count(column_name) 中,如果 column_name 字段中值为NULL,则计数不会增加,而如果字段值为空字符串 "" ,则字段值会加1

count(*) 中,除非整个记录全为NULL,则计数不会增加,如果在某一个记录不为NULL,或者为空字符串"",计数值都会加1.正常来说,表都会有主键,而主键不为空,所以 COUNT(*) 在有主键的表中等同于 COUNT(PRIMARY_KEY) ,即查询有多少条记录

COUNT(DISTINCT column_name)

COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目

语法:

实例如下:

1.字符串函数

char_lengt()

concat()

instr()

lcase()

left()

ltrim()

mid()

2.时间函数

now()

curdate()

curtime()

datediff()

date_add()

数学函数

abs()

ceiling()

floor()

pow()

rand()

round()

其他函数

md5()

version()

database()

UUID()

同一使用select 函数名(参数列表)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7263367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存