MySQL GREATEST 函数

MySQL GREATEST 是比较函数之一,它返回参数中最大的一个。此 GREATEST 函数遵循以下规则:

  • 如果任何参数为 NULL,则返回 NULL。
  • 如果所有参数都是整数,则找到最大数字。
  • 如果参数是字符串,则找到最大的字符串。

在本节中,我们将通过示例向您展示如何查找给定值中的最大值,该函数的基本语法如下所示:

GREATEST(Value1, Value2......, ValueN);

MySQL GREATEST 函数示例

以下查询显示了使用此 Greatest 函数的多种方法。首先,我们将整数用作参数。第二个语句查找最大小数。接下来,它在 g、t、d 和 o 中查找最大的字符。

SELECT GREATEST(20, 25, 10);

SELECT GREATEST(2.0, 3.2, 1.0, 2.5, 1.90);

SELECT GREATEST('g', 't', 'd', 'o');
MySQL greatest function Command Prompt 1

在这里,我们使用了字符串、整数和十进制的组合。接下来,我们将 NULL 用作 MySQL 参数。

SELECT GREATEST('tutorialgateway', 'mysql', 'oracle');

SELECT GREATEST(10, '10', 10.0);

SELECT GREATEST(10, 20, NULL);
Greatest Example 2

GREATEST 示例 2

您可以在列数据上使用此 MySQL Greatest 方法。此示例向您展示如何在 WHERE 子句中使用它。这里,它返回年收入大于 70000 的所有记录。

SELECT EmpID, 
       FirstName,
       LastName,
       Occupation,
       YearlyIncome,
       Sales,
       HireDate
 FROM customer
 WHERE YearlyIncome > GREATEST(50000, 70000, 60000);
Highest Example 3

通常,我们使用此 MySQL 函数来查找多个列(而非行)之间的最大值。下面的查询显示了每个员工 ID 的年收入列和销售列之间的最大值。

SELECT EmpID,
       FirstName,
       LastName,
       YearlyIncome,
       Sales, 
       GREATEST(YearlyIncome, SALES)
 FROM customer
GREATEST Example 4

上面的查询显示了年收入值作为输出,因为它们是最大的。

这次我们正在为每个员工 ID 比较或查找教育和职业列值之间的最大值。

SELECT EmpID, 
       FirstName,
       LastName,
       Education,
       Occupation,
       YearlyIncome,
       Sales,
       GREATEST(Education, Occupation)
 FROM customer
GREATEST Function 5