Вот ответ на ваш вопрос ... с подзапросами:
create table dbo.ZipCensus (
State int,
County varchar(20),
pctPoor float
);
insert dbo.ZipCensus (State, County, pctPoor) values
(10, 'AB', 0.1234),
(10, 'CD', 0.6789),
(51, 'EF', 0.1357),
(51, 'GH', 0.4680);
select State, County, [Poverty Rate]
from (
select
S.State,
County,
[Poverty Rate],
LeastPoor = row_number() over (partition by P.State order by [Poverty Rate] asc, County asc),
MostPoor = row_number() over (partition by P.State order by [Poverty Rate] desc, County asc)
from (
select State, County, avg(pctPoor) as [Poverty Rate]
from dbo.ZipCensus
where State in (10, 51)
group by State, County
) P
join (values
(10, 'Delaware'),
(51, 'Virginia')
) S (StateID, State) on S.StateID=P.State
) R
where LeastPoor=1 or MostPoor=1
order by State, [Poverty Rate]
Что дает результат:
State County Poverty Rate
Delaware AB 0.1234
Delaware CD 0.6789
Virginia EF 0.1357
Virginia GH 0.468