mysql 有没有规则和函数的概念?

mysql 有没有规则和函数的概念?,第1张

目前版本下没有"规则"(rule)这个概念

函数(function),示例如下:

CREATE FUNCTION hello (s CHAR(20))

RETURNS CHAR(50)

RETURN CONCAT('Hello, ',s,'!')

运行在行组上,计算和返回单个值的函数。

AVG() 通过对表中行数计数并计算特定列值之和,求得该列的平均值。 AVG() 可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。

COUNT() 函数进行计数。可利用 COUNT() 确定表中行的数目或符合特定条件的行的数目。

MAX() 返回指定列中的最大值, MAX() 要求指定列名。

返回指定列的最小值,要求指定列名。

用来返回指定列值的和(总计)。

以上提到的聚集函数都可以如下使用:

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 后面的条件对分组数据进行筛选,需要注意的是聚合函数产生的数据列最好重命名,这是因为后端程序语言在处理这些数据时需要规范的字段名,例如:

查询结果如下图:


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存