다음과 같은 표가 있습니다.SQL 서버 - 열의 최대 값으로 검색을 제한하십시오.
version_number ID Value
1 33 Foo
2 33 Bar
1 37 Foo
ID가 33이고 최대 버전 번호 만 선택하면 테이블에서 값 필드를 어떻게 반환합니까? (이 경우, 2)
이와 비슷한 것;
SELECT Value FROM Table WHERE ID = 33 and MAX(version_number)
편집 : 작업 아래에 모두 답변. Tim Schmelter의 대답은 조금 더 우아하다고 생각하기 때문에 나올 것입니다.하지만 투표를 모두 마쳤습니다. 고마워 : 당신은 이것에 대한 하위 쿼리를 사용할 수 있습니다
을 붙여 넣으십시오.하지만 MAX가 지정된 값과 일치하도록해야합니다. 예를 들어 ID 33을 검색하면 version_number 2가있는 행이 표시되지만 ID 37을 검색하면 version_number 1이있는 행이 표시됩니다. –
@RyanHargreaves : 그것은 그렇게 작동합니다. 항상 ID 당 최대 버전 번호에 속하는 행을 반환합니다 (ID 별 파티션으로 인해). 최소 버전을 얻으려면'version_number Desc'를'version_number Asc'로 변경하십시오. –
죄송합니다, 당신의 말이 맞습니다, 주문을 잊어 버렸습니다. Desc. 감사 :) –