sql >> Databasteknik >  >> RDS >> Mysql

Hur får man en räkning även om det inte finns några resultat som motsvarar mysql?

För att göra detta kan du skapa en "månadstabell" och sedan använda en vänster yttre koppling mellan den tabellen och rapporttabellen.

Jag har aldrig använt mysql så ber om ursäkt om syntaxen är något avstängd, men detta skulle vara frågan:

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

Viktigt är att antalet bör vara en kolumn i rapporttabellen, inte månadstabellen, annars skulle du aldrig få en nolla.



  1. Hur anropar man en Oracle-funktion från Hibernate med en returparameter?

  2. Anropa en lagrad procedur inom en lagrad procedur

  3. AWS Lambda - MySQL-cache

  4. Hur kan jag få senast infogade ID med Hibernate