SQL Server - 如何显示最近的记录

Posted

技术标签:

【中文标题】SQL Server - 如何显示最近的记录【英文标题】:SQL Server - How to display most recent records 【发布时间】: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 语句。谢谢。

【问题讨论】:

【参考方案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

【讨论】:

以上是关于SQL Server - 如何显示最近的记录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server 2005 中创建和维护最近 7 天的分区视图和存档记录?

SQL Server:查找大于 5 的最近连续记录

如何根据开始日期将记录与日期值一起显示。 SQL Server

SQL Server 如何查询最后一条记录

sql server 中如何插入一条时间记录

如何在 SQL Server 中使用子查询而不是视图