Is there any way to find maximum value of 3 different columns? I\'m trying to find records with any of 3 columns value higher than specified value and trying to avoid making
I want to point out that:
where GREATEST(column1, column2, column3) > 69;
is not the same as:
where column1 > 69 or column2 > 69 or column3 > 69;
The first will filter out all rows where any of the three columns is NULL
. The second will still consider these rows. You could rewrite the GREATEST()
query as:
where GREATEST(coalesce(column1, 0), coalesce(column2, 0), coalesce(column3, 0)) > 69;
but that defeats the purpose of the simpler syntax. You may know that the column values are never NULL
, in which case using greatest()
is ok. But, it is not a general substitute.