MySQL GREATEST() 函数返回表达式列表中的最大值。在特殊情况下,它返回以下内容:
- 如果列表中的任何表达式为 NULL,则返回 NULL。
语法
GREATEST(expr1, expr2, ... expr_n)
参数
expr1, expr2, ... expr_n | 必填。 指定要计算的表达式列表。 |
返回值
返回表达式列表中的最大值.
示例 1:
下面的示例显示了 GREATEST() 函数的用法。
mysql> SELECT GREATEST(20, 30, 60, 10);
Result: 60
mysql> SELECT GREATEST('20', '30', '60', '10');
Result: '60'
mysql> SELECT GREATEST('D', 'G', 'X', 'A');
Result: 'X'
mysql> SELECT GREATEST('Alpha', 'Beta', 'Delta', 'Gamma');
Result: 'Gamma'
mysql> SELECT GREATEST('Alpha1', 'Alpha2', 'Alpha3', 'Alpha4');
Result: 'Alpha4'
mysql> SELECT GREATEST(20, 30, 60, 10, NULL);
Result: NULL
示例2:
考虑一个名为Sample的数据库表,其中包含以下记录:
Data | x | y | z |
---|---|---|---|
Data 1 | 10 | 0 | 11 |
Data 2 | 20 | 15 | 12 |
Data 3 | 30 | 30 | 13 |
Data 4 | 40 | 45 | 14 |
Data 5 | 50 | 60 | 15 |
要获得最大值,当x<列的值、y列和z列进行比较,可以使用以下查询:
SELECT *, GREATEST(x, y, z) AS GREATEST_Value FROM Sample;
这将产生如下所示的结果:
Data | x | y | z | GREATEST_Value |
---|---|---|---|---|
Data 1 | 10 | 0 | 11 | 11 |
Data 2 | 20 | 15 | 12 | 20 |
Data 3 | 30 | 30 | 13 | 30 |
Data 4 | 40 | 45 | 14 | 45 |
Data 5 | 50 | 60 | 15 | 60 |