2013-06-21 5 views
0

주어진 열에 해당하는 가장 높은 연도와 가장 높은 분기를 인쇄해야한다는 요구 사항이 있습니다.SQL Server 2012에서 가장 높은 연도와 가장 높은 분기를 인쇄해야합니다.

입력 테이블에 있습니다

cityprogram   year   quarter 
===========   ====   ======= 
Abc     1998    1 
Abc     1999    4 
Abc     1999    4 
Abc     1998    3 
xyz     1998    4 
xyz     1998    1 
xyz     2000    3 

그것은 내가 조인 많은, 최대 조건, 나는 그들 모두에 대해 분기 4, 4를 얻을 수가 시도

Abc     1999    4 
xyz     2000    3 

인쇄해야 :(감사

답변

2

사용 공통 테이블 식의 ROW_NUMBER 같은 window function :

,648,

DEMO

CITYPROGRAM  YEAR QUARTER 
Abc    1999  4 
xyz    2000  3 

ROW_NUMBER 반환 그룹 당 하나 개의 행이 관계 (가장 높은 같은 해 + 분기와 cityprograms)가있는 경우에도 마찬가지입니다. 최고를 모두 표시하려면 을 DENSE_RANK으로 바꿀 수 있습니다.