以下のクエリがあります-
select w1.System_Id, w1.TeamProjectSK, w1.System_State, w1.System_Rev
from dbo.DimWorkItem w1
where w1.System_Id = 29259
order by w1.TeamProjectSK asc, w1.System_Rev desc
出力は次のようになります-
System_Id TeamProjectSK System_State System_Rev
29259 4 Closed 6
29259 4 Resolved 5
29259 4 Active 4
29259 4 Active 3
29259 4 Active 2
29259 4 Proposed 1
今、私は私の出力が次のようになる必要があります-
System_Id TeamProjectSK System_State System_Rev
29259 4 Closed 6
29259 4 Resolved 5
29259 4 Active 4
29259 4 Proposed 1
つまり、「System_State」でグループ化された「System_Rev」列で最高値を取得したいと考えています。以下のクエリを試しました-
select w1.System_Id, w1.TeamProjectSK, w1.System_State, w1.System_Rev
from dbo.DimWorkItem w1
inner join
(
select System_State, max(System_Rev) as m
from dbo.DimWorkItem group by System_State
) w
on w1.System_State = w.System_State and w1.System_Rev = w.m
order by w1.System_Id asc, w1.TeamProjectSK asc
しかし、それは私の利益にはなりませんでした。助けてください。
よろしく。