ну с ROW_NUMBER-ом тоже можешь не то достать - сальдо не выглядит как абсолютно точно детерминированное, было бы неплохо id-какой добавить на всякий случай)
declare @t table (id int identity primary key, g int, v int, s varchar(100)); insert into @t (g, v, s) values (1, 1, 'a'), (1, 2, 'b'), (2, 30, 'c'), (2, 40, 'd');
with a (composite_value) as ( select max(cast(v as binary(4)) + cast(id as binary(4))) from @t group by g ) select t.* from @t t join a on t.id = cast(substring(composite_value, 5, 4) as int);
Господа, раз пятница, позволю себе вопрос не по sqlserver. Кто сталкивался с проблемой vs ssdt (у меня 2017), что в какой-то момент студия постоянно напрягает одно ядро процессора? В солюшене где-то 10 проектов бд, они имеют связи между собой.