SQL Server MAX() 函数17 Mar 2025 | 4 分钟阅读 SQL Server 中的 MAX() 函数是一种聚合函数。它用于获取指定列或表达式的 最大值或最大值。它是 SQL Server 中最常用的内置函数。此函数接受一个参数,该参数可以是列或有效表达式,并返回一个结果以汇总输入数据集。它还可以与 WHERE、GROUP BY、ORDER BY 和 HAVING 子句一起使用以获取过滤后的结果。 语法以下语法解释了 SQL Server 中的 MAX() 函数 以下解释了函数参数 aggregate_expression: 它是必需的表达式,表示从中返回最大值的列名。 table_name(s): 它指示我们要从中检索列的表的名称。 可以指定多个表。 WHERE 条件: 这是一个可选子句,用于定义条件以过滤列或表达式。 DISTINCT: 它返回表达式中唯一值的最大值。但是,它不影响 MAX() 函数,并且在不使用此关键字的情况下产生相同的结果。 注意:MAX() 函数忽略 NULL 值。当未找到任何行时,它返回 NULL。MAX() 函数示例让我们借助各种示例来了解 SQL Server 中 MAX 函数的用法。假设我们的数据库有一个名为“ProductQty”的表,其中包含以下数据 ![]() 示例 1: 此示例使用 MAX() 函数获取 ProductQty 表中已售产品的最大数量 此语句显示以下输出,其中我们看到已售产品的最大数量 ![]() 示例 2: 此示例将 WHERE 子句与 MAX() 函数一起使用。此子句用于从表中过滤记录。当我们想获取销量最高的产品的名称时,它很有用。请参阅以下语句 在这里,SQL Server 首先评估使用 MAX() 函数的子查询,然后外部查询显示数量等于子查询结果的产品名称。当我们执行该语句时,我们将看到所需的输出 ![]() 示例 3: 此示例将 GROUP BY 子句与 MAX() 函数一起使用。GROUP BY 子句从多行收集数据,并根据指定的列对它们进行分组。例如,我们可以使用以下语句获取 ProductQty 表中每个产品组所有行的最大数量。 执行该语句将显示每个产品的最大数量 ![]() 示例 4: 此示例将 HAVING 子句与 MAX() 函数一起使用。我们始终将 HAVING 子句与 GROUP BY 子句一起使用以过滤分组记录。例如,如果我们想获取已售产品名称的最大数量大于 300,可以使用以下语句 执行该语句将返回以下输出 ![]() 示例 5: 此示例将 MAX() 函数与两列一起使用以获取最高结果输出 当我们执行该语句时,它将从 ProductQty 表中为每个产品返回 (数量 * 价格) 的最高值 ![]() 示例 6: 此示例将 DISTINCT 和 OVER() 子句与 MAX() 函数一起使用。我们使用 DISTINCT 子句来获取唯一数据,而 OVER 子句确定将哪些查询行应用于该函数、函数评估它们的顺序以及何时应重新启动函数的计算。 此语句返回以下输出 ![]() 示例 7: 此示例将 MAX() 函数与字符数据一起使用。假设我们考虑了系统数据库,并想获取按字母顺序对最后一个名称进行排序的数据库名称。我们可以编写如下语句 这是结果: ![]() 结论本文将解释 SQL Server 中 MAX() 函数的完整概述。在这里,我们学习了如何借助 WHERE、GROUP BY、HAVING 和 OVER 子句从表中获取最高值。 下一个主题SQL Server SUM 函数 |
我们请求您订阅我们的新闻通讯以获取最新更新。