sql >> Database >  >> RDS >> Mysql

genereer lege rijen, zelfs als deze leeg zijn tussen 2 datums

Probeer met coalesce functie die '0' retourneert als de sum(orders.amount) is null voor een bepaalde maand:

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


  1. Fout bij het gebruik van INSERT INTO table ON DUPLICATE KEY, bij gebruik van een for-loop-array

  2. Top n-records ophalen voor elke groep gegroepeerde resultaten

  3. Hasj Wat? Hash-indexen begrijpen

  4. Tijdstempel opslaan in mysql-tabel met php