A little flaky perhaps, but if you're gonna love sql :-)
select distinct
cnt,
count(cnt) over (partition by cnt)
from (
select 'a' usr,1 cnt from dual union
select 'b' usr,1 cnt from dual union
select 'c' usr,2 cnt from dual union
select 'd' usr,3 cnt from dual union
select 'e' usr,3 cnt from dual )