version anglo-saxon
=query(arrayformula(split({B2:B9&"■"&3;C2:C9&"■"&2;D2:D9&"■"&1},"■")),"select Col1, sum(Col2) group by Col1 order by sum(Col2) desc limit 3 label sum(Col2) '' ")
Version FR
=query(arrayformula(split({B2:B9&"■"&3;C2:C9&"■"&2;D2:D9&"■"&1};"■"));"select Col1, sum(Col2) group by Col1 order by sum(Col2) desc limit 3 label sum(Col2) '' ")