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');

在这里,我们使用了字符串、整数和十进制的组合。接下来,我们将 NULL 用作 MySQL 参数。
SELECT GREATEST('tutorialgateway', 'mysql', 'oracle');
SELECT GREATEST(10, '10', 10.0);
SELECT GREATEST(10, 20, NULL);

GREATEST 示例 2
您可以在列数据上使用此 MySQL Greatest 方法。此示例向您展示如何在 WHERE 子句中使用它。这里,它返回年收入大于 70000 的所有记录。
SELECT EmpID,
FirstName,
LastName,
Occupation,
YearlyIncome,
Sales,
HireDate
FROM customer
WHERE YearlyIncome > GREATEST(50000, 70000, 60000);

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

上面的查询显示了年收入值作为输出,因为它们是最大的。
这次我们正在为每个员工 ID 比较或查找教育和职业列值之间的最大值。
SELECT EmpID,
FirstName,
LastName,
Education,
Occupation,
YearlyIncome,
Sales,
GREATEST(Education, Occupation)
FROM customer
