【问题标题】:Get the max field value from each row [duplicate]从每一行获取最大字段值[重复]
【发布时间】:2020-04-16 00:59:51
【问题描述】:

如何从每个表格行的几列中获取最大值?

ID          Date1      Date2      
----------- ---------- ---------- 
1           2019-01-01 2019-12-29 

结果:

ID          MaxDate   
----------- ---------- 
1           2019-12-29 

【问题讨论】:

  • 'Avraham'“大于”'Yaakov' 怎么样? 'Avraham' 具有这些名称中的最低值,而不是最高值。
  • @Larnu the OP 添加了一个答案。我们可以将其视为他问题的答案或补充吗?我有点迷茫……
  • 'A' 比 'Y' 好
  • @Michal 你只比较第一个字母的名字吗?

标签: sql-server


【解决方案1】:

SQL Fiddle

MS SQL Server 2017 架构设置

CREATE TABLE MyTable (ID int,Date1 date,Date2 date)
INSERT INTO MyTable (ID,Date1,Date2) VALUES ('1','2019-01-01','2019-12-29')

查询 1

SELECT
    ID,CASE
        WHEN Date1 >= Date2   THEN Date1
        WHEN Date2 >= Date1 THEN Date2
ELSE   Date1
    END AS MaxDate

    FROM MyTable

Results

| ID |    MaxDate |
|----|------------|
|  1 | 2019-12-29 |

【讨论】:

    【解决方案2】:
    select ID,(select max(d) from (select Date1 d uninon select Date2 d) as t) as MaxDate
    from MyTable
    

    【讨论】:

    • 虽然这个答案可能是正确的。仅代码答案很少有帮助。请评论您的代码并解释此代码如何解决问题。
    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 2013-11-15
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多