2014-06-21 3 views
1

있는 항목에서 최고 값을 가져옵니다 : 여기에서나는이 같은 테이블이 동일한 ID를

ID  Severity WorkItemSK 
23636 3-Minor  695119 
23636 3-Minor  697309 
23647 2-Major  695081 
23647 2-Major  694967 

을 내가 같은 ID를 공유하는 여러 작업 항목이있다. WorkItem이 가장 높은 고유 ID는 어떻게 얻을 수 있습니까? 어떤 SQL 명령 단서를 (다시 내가 멍청한 놈)주는 멍청한 놈 :) 마음 사용해야합니까

ID  Severity WorkItemSK 
23636 3-Minor  697309 
23647 2-Major  695081 

도움말 :

그래서이를 원하십니까? 또는 쿼리의 예?

미리 감사드립니다.

+0

가능한 복제본 [MAX (열 값), SQL의 다른 열에 의해 DISTINCT 행을 어떻게 선택합니까?] (http://stackoverflow.com/questions/612231/how-can-i-selectrows- with-maxcolumn-value-distinct-by-column-in-sql) – FuzzyTree

답변

1

, 당신은 다음과 같은 쿼리를 사용하는 것이 좋습니다 :

Select T.ID, T.Severity, T.WorkItemSK 
From Table T 
Join 
(
    Select ID, Max(WorkItemSK) As WorkItemSK 
    From Table 
    Group By ID 
) D On T.WorkItemSK = D.WorkItemSK And T.ID = D.ID 

T.ID = D.ID의 마지막 Join 상태 수도 있고 WorkItemSK이 테이블에 여러 번 나타날 수 있는지 여부에 따라 필요하지 않을 수도 있습니다.

Select ID, Severity, Max(WorkItemSK) As WorkItemSK 
From Table 
Group by ID, Severity 

을하지만 ID마다 다른 Severity 값이있는 경우, 중복 ID의가 표시됩니다

그렇지 않으면, 당신은이를 사용할 수 있습니다.

+0

고마워요! 바로 작동! – GrimSmiler

0

사용 BY 그룹 선택 SeverityWorkItemSK에 따라 변경 될 수 있음을 가정 SELECT id,MAX(WorkItemSK) FROM table GROUP BY id;