Вам нужен подзапрос с корреляцией , и SQL Server будет поддерживать синтаксис:
select sp.*
from sperson sp
where comm = (select min(sp1.comm)
from sperson sp1
where sp1.office = sp.office
);
Однако это также может быть достигнуто с помощью функции row_number()
/ dense_rank()
:
select top (1) with ties sp.*
from sperson sp
order by row_number() over (partition by office order by comm);