2013-12-15 2 views
0

SQL을 배우는 중이므로 나는 원하는 결과물을 만들기 위해 약간의 노력을 기울입니다. 나는 테이블 X는 다음과 같이 있다고 가정SQL Server : 각 부분의 최신 날짜가있는 행 선택

:

-------Date ------- Part ------- Value 

01-01-2005   A   200 

01-01-2006   A   100 

01-01-2007   A   300 

02-02-2010   B   450 

02-02-2011   B   320 

및 X에서 나는이 좀하고 싶습니다 : 기본적으로 제가하고 싶은 것은 각각 별개 얻을 것입니다

-------Date ------- Part ------- Value 

01-01-2007   A   300 

02-02-2011   B   320 

을 최신 날짜가있는 레코드 하나만 작성하십시오. 값 열은 결과에 남아 있어야합니다!

어떻게 할 수 있습니까? 나는 어떤 도움을 주셔서 감사합니다.

+0

중복 가능성 (http://stackoverflow.com/questions/4041730/max-within-a-timeframe-with-date-duplicates) –

답변

2
;WITH LatestRecords 
AS 
    (
    SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY PART ORDER BY [Date] DESC) 
    FROM TABLEX 
) 
SELECT * FROM LatestRecords 
WHERE rn = 1 
[날짜와 중복 기간 내에 최대]의
관련 문제