Другой способ.Найдите минимальные и максимальные значения в подзапросе и соедините их с другим подзапросом с количеством каждой работы.Затем оставьте соединение и удалите строки, которые соответствуют минимальному или максимальному числу.
declare @people table (id int, name varchar(20), work varchar(50))
insert into @people
values (1, 'Mark' , 'Programmer'),
(2, 'Sonia' ,'Singer'),
(3, 'Jack', 'Programmer'),
(4, 'Mirco', 'Welder'),
(5, 'Jeff', 'Welder'),
(6, 'Tom', 'Welder')
select a.work
from ( -- A subquery that returns the count of each work
select work, count(*) cnt
from @people
group by work
) a
left outer join ( -- a subquery that returns the min and max counts
select min(cnt) mincount, max(cnt) maxcount
from (
select count(*) cnt
from @people
group by work
) b
) c
on a.cnt = c.mincount
or a.cnt = c.maxcount
where c.mincount is null