【问题标题】:Return a row with the max date [duplicate]返回具有最大日期的行[重复]
【发布时间】:2021-04-30 09:21:32
【问题描述】:

我需要返回一个包含最大日期的行。这是我的示例表:

AAALTLCHANGEREQUESTOR   AAALTLCHANGEVALUE   CREATEDDATETIME
-------------------------------------------------------------------
QPGMR                   13,2020/10/27,0     2020-10-27 11:32:57.000
QPGMR                   EDI                 2020-10-27 11:32:57.000
wethridg                5.10                2021-01-18 14:47:12.000
QPGMR                   3226                2020-10-27 11:32:57.000

我需要返回这一行:

wethridg                5.10                2021-01-18 14:47:12.000

我的查询:

SELECT 
    MAX([AAALTLCHANGEREQUESTOR]) AS 'User',
    MAX([AAALTLCHANGEVALUE]) AS 'Value',
    MAX([CREATEDDATETIME]) AS 'Created Date'
FROM 
    [AX2012_PROD].[dbo].[AAALTLCHANGEREQUESTARCHIVE]
WHERE
    AAAREFNUMVALUE = '17743965'  
    AND AAASENTTOLTL = '1'

这是它返回的内容:

User       Value       Created Date
----------------------------------------------
wethridg    ZRY        2021-01-18 14:47:12.000

这是返回每个最大值。

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    ORDER BY 日期降序。仅获取第一行。

    SELECT AAALTLCHANGEREQUESTOR, AAALTLCHANGEVALUE, CREATEDDATETIME
    FROM tablename
    ORDER BY [CREATEDDATETIME] DESC
    OFFSET 0 FETCH FIRST 1 ROW ONLY
    

    【讨论】:

      【解决方案2】:

      您可以使用ORDER BYTOP

      select top (1) a.*
      from [AX2012_PROD].[dbo].[AAALTLCHANGEREQUESTARCHIVE] a
      where a.AAAREFNUMVALUE = '17743965' and a.AAASENTTOLTL = '1'
      order by CREATEDDATETIME desc;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-22
        • 1970-01-01
        • 2017-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多