如何在MySQL中获得两个值的最大值?

我试过了,但失败了:

mysql> select max(1,0);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near '0)' at line 1
152501 次浏览

使用< >强最大()< / >强

例如:

SELECT GREATEST(2,1);

注意:无论何时,如果任何单个值包含null,该函数总是返回null(感谢用户@sanghavi7)

要在一组行中获取某一列的最大值:

SELECT MAX(column1) FROM table; -- expect one result

获取每一行的一组列、字面值或变量的最大值:

SELECT GREATEST(column1, 1, 0, @val) FROM table; -- expect many results
你可以使用带有非空字段的最大的函数。 如果其中一个值(或两个值)可以为NULL,则不要使用它(结果可以为NULL)
select
if(
fieldA is NULL,
if(fieldB is NULL, NULL, fieldB), /* second NULL is default value */
if(fieldB is NULL, field A, GREATEST(fieldA, fieldB))
) as maxValue

您可以将NULL更改为首选的默认值(如果两个值都为NULL)。