如何获得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)。