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

我试过但失败了:

mysql> select max(1,0); 
错误1064(42000):您的SQL语法错误; 检查手册 
这对应于您的MySQL服务器版本以使用正确的语法 
靠近'0)'在第1行

使用GREATEST()

例如:

 SELECT GREATEST(2,1); 

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

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

要获取每行的一组列,文字或variables的最大值:

 SELECT GREATEST(column1, 1, 0, @val) FROM table; -- expect many results 

您可以使用不可空字段的GREATEST函数。 如果其中一个值(或两者)可以为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)。