Pomůže mi někdo se sestavením SQL dotazu?

Potřeboval bych pomoct se sestavením jednoho SQL dotazu. Mám následující tabulku "data" (uvádím jen důležité sloupce):
id INT,
id_category INT, // cizí klíč
type ENUM('type1','type2')

No a potřeboval bych následující (snad se mi to podaří napsal srozumitelně): Potřebuju pro každou kategorii (id_category) zjistit, kolik mám v tabulce "data" záznamů typu "type1" a kolik typu "type2". Pro jistotu uvedu příklad.

V "data" mám tyto záznamy:
id, id_category, type
1, 1, type1
2, 1, type1
3, 1, type2
4, 2, type2
5, 3, type1

A potřebuju získat následující výstup:
id_category, type1_count, type2_count
1, 2, 1
2, 0, 1
3, 1, 0

Budu moc vděčný, pokud mi s tím někdo pomůžete. Už se snažím více jak hodinu, ale neúspěšně. (A to jsem myslel, že to bude úplně triviální). Přišel jsem akorát na takové řešení, které by vyžadovalo několik různých SQL dotazů, jejichž počet by byl úměrný počtu různých id_category, což nechci, protože jich mám docela dost. Předem díky za odpovědi.
No, zkus to ještě jednou vysvětlit, četl jsem to asi 10x za sebou a ani jednou jsem to pořádně nepochopil :(
Hlavně co potřebuješ dostat, respektive na co to potřebuješ, aby se případně dalo nějak modifikovat ...

"Už se snažím více jak hodinu, ale neúspěšně." Jenom hodinu? Tak to si ještě dej :) Já jsem jednou zjišťoval snad půl dne, proč mi skript ("ne"obyčejný cyklus) vrací roky takto: 2004, 2005, 2007, 2008, ... , 2006 a taky jsem na to nakonec přišel ;)
Tak uz jsem na to prisel. Nakopli me jednim odkazem na jinem foru, kde jsem taky psal o pomoc. Reseni sem psat nebudu, asi by nikoho nezajimalo a mam ho uz predelane pro svuj konkretni pripad, ne pro tento zjednoduseny.

Ale co jse potreboval bylo spocitat toto:

Ze vsech zaznamu v "data" ziskat vypis o delce x radku, kde x odpovida poctu unikatnich kategorii "id_category" v "data". A dalsi dva sloupce tohoto vypisu budou udavat, kolik je pro kazdou kategorii zaznamu, kde "type='type1'" a kolik "type='type2'". Snad uz je to ted jasnejsi.

Nakonec tu stejne hodim kousek toho dotazu, kterym to resim. Vubec jsem netusil, ze MySQL neco takoveho jako IF umoznuje, ale funguje to naprosto jasne a pochopitelne.

SELECT
id_category,
SUM( IF(type='type1',1,0) ) AS type1_count,
SUM( IF(type='type2',1,0) ) AS type2_count
FROM data
GROUP BY id_category ORDER BY id_category

Snad jsem to tady nikde nepopletl. Nemuzu to otestovat, jestli tam neni chyba. Ale i kdyby byla, tak snad z toho je jasne jak to, co jsem vlastne potreboval ziskat, tak i to, jak jsem to vyresil.