Visning af dit eksempeldatasæt, hvis type,extra
er begrænset, dvs. type kan kun have (1,2) og ekstra kan kun have (0,2) du kan gøre det, ved at bruge udtryk i sum vil det resultere som 0 eller 1 baseret på resultatet af udtrykket, og du kan få din tælle derefter
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