Visualizando seu conjunto de dados de amostra se
type,extra
são limitados, ou seja, tipo só pode ter (1,2) e extra só pode ter (0,2) você pode fazer isso, usando expressão em soma resultará como 0 ou 1 com base no resultado da expressão e você pode ter seu conte de acordo 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
Demonstração do violino