2011-11-02 67 views
0

我在SQL Server中有一個表。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 

Pelase幫助我處理SQL語句。謝謝。

回答

4
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