scusate per il doppio messaggio, comunque ho risolto con il join, mi scuso per averne dubitato prima :S.. ho usato una query di questo tipo:

SELECT COUNT(a.id) AS active, COUNT(b.id) AS postponed, COUNT(c.id) AS draft FROM news_articles a LEFT JOIN news_articles b ON b.type = 2 AND a.type = 1 LEFT JOIN news_articles c ON c.type = 3

Comunque mi potete spiegare che cambia tra il LEFT JOIN, RIGHT JOIN e INNER JOIN? Su w3schools.com e altre fonti viene spiegato, ma non è che ci abbia capito molto.