Dovrebbe essere una cosa del genere
codice:select date_format(campo_data,"%M") as mese, count(id) as telefonate, sum(if(mail=1,1,0)) as flag_mail, sum(if(sms=1,1,0)) as flag_sms from tabella where year(campo_data) = 2009 group by date_format(campo_data,"%Y%m")