Affichage de votre exemple d'ensemble de données si type,extra
sont limités, c'est-à-dire que le type ne peut avoir que (1,2) et extra ne peut avoir que (0,2), vous pouvez le faire, en utilisant l'expression en somme, il en résultera 0 ou 1 en fonction du résultat de l'expression et vous pouvez avoir votre compter en conséquence
SELECT
user_id,
SUM(`type`=1 AND `extra`=0) one_noextra,
SUM(`type`=1 AND `extra`=2) one_twoextra,
SUM(`type`=2 AND `extra`=0) two_noextra,
SUM(`type`=2 AND `extra`=2) two_twoextra
FROM Table1
GROUP BY user_id