sql >> Databáze >  >> RDS >> Mysql

Jak získat počet, i když neexistují žádné výsledky odpovídající mysql?

Chcete-li to provést, můžete vytvořit tabulku „měsíc“ a poté použít levé vnější spojení mezi touto tabulkou a tabulkou přehledů.

Nikdy jsem nepoužil mysql, takže se omlouvám, pokud je syntaxe mírně mimo, ale toto by byl dotaz:

SELECT months.monthNumber,
    count(reports.id) AS `count`
FROM `months` left outer join `reports` on months.monthNumber = month(reports.date_lm) 
WHERE (status = 'submitted') 
AND (date_lm > 2012-08) 
GROUP BY monthNumber
ORDER BY monthNumber ASC

Důležité je, že počet by měl být ve sloupci v tabulce přehledů, nikoli v tabulce měsíců, jinak byste nikdy nedostali nulu.



  1. MySQL rollback při transakci se ztraceným/odpojeným připojením

  2. Nelze VLOŽIT:CHYBA:Hodnota pole musí začínat { nebo informací o rozměru

  3. Hodnoty výchozího bodu MySQL RAND() se téměř opakují

  4. Jak vrátit seznam podporovaných jazyků v Oracle