如何获得两个值在MySQL最大?(How to get the max of two values

2019-07-28 06:20发布

我试过,但失败:

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

Answer 1:

使用GREATEST()

例如:

SELECT GREATEST(2,1);


Answer 2:

为了获得在一组行的列的最大值:

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

为了得到一组列,文字,或为每行变量的最大值:

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


Answer 3:

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



文章来源: How to get the max of two values in MySQL?
标签: mysql max