Använd bara villkorlig aggregering:
select name, sum(type = 0) as count_0, sum(type = 1) as count_1
from t
group by name;
Detta använder en MySQL-funktion som behandlar booleska värden som siffror i ett numeriskt sammanhang, med 0 för falskt och 1 för sant. Att lägga ihop värdena räknar därför antalet gånger uttrycket är sant.