sql >> Base de Datos >  >> RDS >> Mysql

generar filas vacías incluso si están vacías entre 2 fechas

Pruebe con coalesce función que devolverá '0' si sum(orders.amount) es nulo para un mes específico:

select COALESCE(sum(o.amount), 0) as amount, o.completed_at 
from orders o 
where date(o.completed_at) between '2011/10/01' and '2012/03/06' 
group by year(o.completed_at), month(o.completed_at) order by o.completed_at