【问题标题】:SQL Server - How to display most recent recordsSQL Server - 如何显示最近的记录
【发布时间】:2011-12-20 18:05:04
【问题描述】:

我在 SQL Server 中有一个表。

ID PID LASTMODIFIED REASON
1  1   01/01/2011   XYZ
2  1   04/01/2011   XYY
3  2   05/01/2011   ZZZ
4  2   03/01/2011   ABC

我想为每个 PID 选择基于 MAX(LASTMODIFIED) 的行。对于 EX,选择应返回以下内容:

ID PID LASTMODIFIED REASON
2  1   04/01/2011   XYY
3  2   05/01/2011   ZZZ

请帮助我处理 SQL 语句。谢谢。

【问题讨论】:

    标签: sql sql-server sql-server-2008 tsql greatest-n-per-group


    【解决方案1】:
    SELECT A.ID, A.PID, A.LastModified, A.Reason 
    FROM MyTable AS A INNER JOIN (
    SELECT PID, MAX(LastModified) AS MaxDate
    FROM MyTable
    GROUP BY PID) AS B ON A.PID = B.PID AND A.LastModified = B.MaxDate
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 2017-06-12
      • 1970-01-01
      相关资源
      最近更新 更多