Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server-如何显示最新记录_Sql_Sql Server_Sql Server 2008_Tsql_Greatest N Per Group - Fatal编程技术网

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

我在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   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