Postgresql: consulta retornando dados incorretos

Suponha que eu tenha uma tabelaempgroupinfo e eu quero buscar o employeeid que vem exatamente esses dois groupId500 and 501 (virá dinamicamente) apenas, não deve vir em mais ou menos número de grupos, ondeempid != 102 que está em 500 groupid.

Eu tentei a seguinte consulta:

select empid from empgroupinfo 
where empgroupid in(500,501) and empid != 102
group by empid having count(empid) = 2

Mas essa consulta acima também retorna o empId que está em outros grupos.

Eu quero buscar oempid no caso em que os funcionários estejam exatamente nesses dois grupos (500 e 501) eempid != 102.