MySQL 聚合函数17 Mar 2025 | 5 分钟阅读 MySQL 的聚合函数用于对多个值执行计算,并返回单个值,例如所有值的平均值、所有值的总和以及特定值分组中的最大值和最小值。我们在数据查询语言的 SELECT 语句 中主要使用聚合函数。 语法在 MySQL 中使用聚合函数的语法如下: 在上例语法中,我们使用了以下参数:
MySQL 中有各种可用的聚合函数。下表总结了一些最常用的聚合函数:
为什么使用聚合函数?我们主要在数据库、电子表格和许多其他数据处理软件包中使用聚合函数。在商业环境中,不同层级的组织需要不同的信息,例如,高层管理者更关心整体数字而不是个体细节。这些函数从我们的数据库中生成汇总数据。因此,它们广泛应用于经济学和金融领域,以表示经济状况或股票和行业表现。 让我们以 myflix(一个拥有大量电影收藏的视频流网站)数据库为例,管理层可能需要以下详细信息:
我们可以通过聚合函数轻松生成这些详细信息。 让我们详细讨论最常用的聚合函数。首先,我们将创建一个新表来演示所有聚合函数。 执行以下语句来创建一个名为 employee 的表。 执行以下语句将记录插入 employee 表。 现在,执行 SELECT 语句 来显示记录。 ![]() Count() 函数MySQL count() 函数返回表达式中的总值数。此函数根据指定的条件生成表中的所有行或仅部分行,其返回类型为 BIGINT。如果找不到匹配的行,则返回零。它可以处理数字和非数字数据类型。 示例 假设我们要获取 employee 表中员工的总数,我们需要使用 count() 函数,如下面的查询所示: 输出 执行后,我们可以看到该表有六名员工。 ![]() 要阅读更多信息,请点击此处。 Sum() 函数MySQL sum() 函数返回表达式的总和(非 NULL)值。如果结果集没有任何行,则返回 NULL。它仅适用于数字数据类型。 假设我们要计算表中所有员工的总工作小时数,我们需要使用 sum() 函数,如下面的查询所示: 输出 执行后,我们可以看到表中所有员工的总工作小时数。 ![]() 要阅读更多信息,请点击此处。 AVG() 函数MySQL AVG() 函数计算列中指定值的平均值。与 SUM() 函数类似,它也仅适用于数字数据类型。 假设我们要获取表中所有员工的平均工作小时数,我们需要使用 AVG() 函数,如下面的查询所示: 输出 执行后,我们可以看到该组织中所有员工的平均工作小时数。 ![]() 要阅读更多信息,请点击此处。 MIN() 函数MySQL MIN() 函数返回指定列的最小值(最低值)。它也仅适用于数字数据类型。 假设我们要获取表中员工的最小工作小时数,我们需要使用 MIN() 函数,如下面的查询所示: 输出 执行后,我们可以看到表中员工的最小工作小时数。 ![]() 要阅读更多信息,请点击此处。 MAX() 函数MySQL MAX() 函数返回指定列的最大值(最高值)。它也仅适用于数字数据类型。 假设我们要获取表中员工的最大工作小时数,我们需要使用 MAX() 函数,如下面的查询所示: 输出 执行后,我们可以看到表中员工的最大工作小时数。 ![]() 要阅读更多信息,请点击此处。 FIRST() 函数此函数返回指定列的第一个值。要获取列的第一个值,我们必须使用 LIMIT 子句。这是因为 FIRST() 函数仅在 MS Access 中支持。 假设我们要获取表中员工的第一个工作日期,我们需要使用以下查询: 输出 执行后,我们可以看到表中员工的第一个工作日期。 ![]() 要阅读更多信息,请点击此处。 LAST() 函数此函数返回指定列的最后一个值。要获取列的最后一个值,我们必须使用 ORDER BY 和 LIMIT 子句。这是因为 LAST() 函数仅在 MS Access 中支持。 假设我们要获取表中员工的最后一个工作小时数,我们需要使用以下查询: 输出 执行后,我们可以看到表中员工的最后一个工作小时数。 ![]() 要阅读更多信息,请点击此处。 GROUP_CONCAT() 函数GROUP_CONCAT() 函数将多个行的连接字符串合并到一个字符串中。如果组包含至少一个非空值,它始终返回字符串值。否则,我们将获得一个 null 值。 假设我们有另一个如下所示的 employee 表: ![]() 如果我们想连接 employee 表中相同 dept_id 的职位,我们需要使用以下查询: 输出 执行后,我们可以看到相同 dept_id 的职位已成功连接。 ![]() 要阅读更多信息,请点击此处。 下一主题MySQL count() |
我们请求您订阅我们的新闻通讯以获取最新更新。