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

查询结果如下图:

SELECT category_Sn,isnull(count,0) FROM category left join (SELECT count(*) as count,category_Sn FROM [article] group by category_Sn) AS [article] on category.[category_Sn]=article.[category_Sn]

一、COUNT()函数

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

COUNT()有两种使用方式:

1.使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。

2.使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。

例如 SELECT COUNT(*) AS num_test FROM test

此语句对表test所有行进行计数,返回表的总行数,不管行中各列有什么值。

例如 SELECT COUNT(school) FROM test

此语句只对school列中有值的行进行计数,忽略null行。

二、MAX()函数

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

例如SELECT MAX(age) FROM test

此语句返回表test中age的最大值。

注:MAX()函数忽略值为NULL的行。

代码如下:

select a.xm,max(b.gz) from md a,gz b

    where a.id=b.id

如果还有其它条件,你再详细写明。佬第一个人的姓名,最高的是第5个人,看不懂你的意思。


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

原文地址: http://outofmemory.cn/zaji/8434967.html

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

发表评论

登录后才能评论

评论列表(0条)

保存