select product_name, sale_date, count(*) as total
from
(
select lower(trim(product_name)) as product_name, date_format(sale_date,'%Y-%m') as sale_date
from Sales
)a
group by product_name, sale_date
order by product_name, sale_date
select
lower(replace(product_name, ' ', '')) product_name, date_format(sale_date, '%Y-%m') sale_date, count(sale_date) total
from
sales
group by
lower(replace(product_name, ' ', '')), date_format(sale_date, '%Y-%m')
order by
lower(replace(product_name, ' ', '')), date_format(sale_date, '%Y-%m') asc
;
select product_name,sale_date,count(*) as total
from
(select trim(lower(product_name)) as product_name,
substring(sale_date,1,7) as sale_date
from Sales) t
group by product_name, sale_date
order by product_name, sale_date ASC