what about
select t1.c, t1.num, t2.num, t3.num
from
(select contributor as c, count(*) as num
from table
where medal = 1
group by contributor
) as t1,
(select contributor as c, count(*) as num
from table
where medal = 2
group by contributor
) as t2,
(select contributor as c, count(*) as num
from table
where medal = 3
group by contributor
) as t3
where t1.c = t2.c and t2.c = t3.c