I think that you want aggregation:
select
date_format(mydate, '%Y-%m') yyyy_mm,
count(*) cnt
from new_case
where sla_client = 'ITA'
group by date_format(mydate, '%Y-%m')
order by yyyy_mm
This gives you one row per month, with the count of rows in that month (if there is no data for a given month, then it just does not appear in the resultset).
If you need to filter on a given date range, then I would recommend using a where
clause that filters directly on the date values rather than applying date functions. Say you want the last 3 months and the current month, then:
select
date_format(mydate, '%Y-%m') yyyy_mm,
count(*) cnt
from new_case
where
sla_client = 'ITA'
and mydate >= date_format(current_date, '%Y-%m-01') - interval 3 month
and mydate < date_format(current_date, '%Y-%m-01') + interval 1 month
group by date_format(mydate, '%Y-%m')
order by yyyy_mm