SQL MAX of multiple columns?

后端 未结 22 2156
伪装坚强ぢ
伪装坚强ぢ 2020-11-22 02:03

How do you return 1 value per row of the max of several columns:

TableName

[Number, Date1, Date2, Date3, Cost]

I n

22条回答
  •  一向
    一向 (楼主)
    2020-11-22 02:29

    Either of the two samples below will work:

    SELECT  MAX(date_columns) AS max_date
    FROM    ( (SELECT   date1 AS date_columns
               FROM     data_table         )
              UNION
              ( SELECT  date2 AS date_columns
                FROM    data_table
              )
              UNION
              ( SELECT  date3 AS date_columns
                FROM    data_table
              )
            ) AS date_query
    

    The second is an add-on to lassevk's answer.

    SELECT  MAX(MostRecentDate)
    FROM    ( SELECT    CASE WHEN date1 >= date2
                                  AND date1 >= date3 THEN date1
                             WHEN date2 >= date1
                                  AND date2 >= date3 THEN date2
                             WHEN date3 >= date1
                                  AND date3 >= date2 THEN date3
                             ELSE date1
                        END AS MostRecentDate
              FROM      data_table
            ) AS date_query 
    

提交回复
热议问题