А
Я бы пересмотрел ваш запрос использовав CTE и вложенный подзапрос
Size: a a a
А
А
Л
АР
with t as
(
select
...
sum(ConsumerGroup) over (partition by ContractNoOld) as agg1,
count(*) over (partition by ContractNoOld) as agg2,
row_number() over (partition by ContractNoOld order by (select 1)) as rn
from
...
)
select
...
from
t
where
(agg1 = 0 or agg1 = agg2) and rn = 1;
АР
Л
Л
ДЗ
Л
E
АГ
Л
Л
E
E
T
E