SQL Server-如何显示最新记录
我在SQL Server中有一个表SQL Server-如何显示最新记录,sql,sql-server,sql-server-2008,tsql,greatest-n-per-group,Sql,Sql Server,Sql Server 2008,Tsql,Greatest N Per Group,我在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的最大值(LASTMODIFIED)选择行。对于EX,select应返回以下内容: ID PID LASTMODIFIED REASON 2 1 04/01/2011 XYY 3 2
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的最大值(LASTMODIFIED)选择行。对于EX,select应返回以下内容:
ID PID LASTMODIFIED REASON
2 1 04/01/2011 XYY
3 2 05/01/2011 ZZZ
请帮助我使用SQL语句。多谢各位
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