开发者社区 问答 正文

多个列的SQL MAX?

如何在几列的最大值的每一行中返回1值:

表名

[Number, Date1, Date2, Date3, Cost]

我需要返回这样的内容:

[Number, Most_Recent_Date, Cost]

查询?

展开
收起
心有灵_夕 2019-12-28 23:00:32 909 分享 版权
1 条回答
写回答
取消 提交回答
  • 好了,您可以使用CASE语句:

    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
    
    

    [对于Microsoft SQL Server 2008及更高版本,您可以在下面考虑Sven的简单答案。]

    2019-12-28 23:00:45
    赞同 展开评论
问答分类:
SQL
问答标签:
问答地址: