Mysql max value from 3 different columns

后端 未结 2 1354
鱼传尺愫
鱼传尺愫 2020-12-18 01:27

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

相关标签:
2条回答
  • 2020-12-18 01:53

    you need to use GREATEST

    like that

        select id from tablex where GREATEST(column1, column2, column3) > 69
    
    0 讨论(0)
  • 2020-12-18 01:53

    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.

    0 讨论(0)
提交回复
热议问题