essayer
;with a as (select * , row_number() over (order by (select 1)) r from @t),
b as (select * , row_number() over (partition by agg,RManager order by r) r1 from a)
select t.RManager,t.Score,t1.Score,t.Agg,t.Rank,t1.Rank
from b t join (select * from b where r1=2 ) t1 on t.Agg=t1.Agg and t.RManager=t1.RManager
where t.r1=1 order by agg desc
données
declare @t table (RManager char(1),MeasureName varchar(10),Score float,Agg varchar(5), [Rank] int)
insert into @t (RManager,MeasureName,Score,Agg,[Rank])
values('A', 'ATVScore', 0.03, 'WTD', 1),
('B', 'ATVScore', 0.05, 'WTD', 2),
('C', 'ATVScore', 0.12, 'WTD', 3),
('A', 'ATVScore', 34, 'MTD', 2),
('B','ABCScore', 12 ,'MTD', 3),
('C', 'ABCScore', 112, 'MTD', 1),
('A', 'ABCScore', 23, 'WTD', 3),
('B', 'ABCScore', 34, 'WTD', 2),
('C', 'ABCScore', 45, 'WTD', 1),
('A', 'ABCScore', 123 ,'MTD', 1),
('B', 'ABCScore', 34 ,'MTD', 3),
('C', 'ABCScore', 45 ,'MTD', 2)