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

¿Cómo obtener un recuento incluso si no hay resultados correspondientes a mysql?

Para hacer esto, puede crear una tabla de 'meses' y luego usar una combinación externa izquierda entre esa tabla y la tabla de informes.

Nunca he usado mysql así que pido disculpas si la sintaxis es un poco incorrecta, pero esta sería la consulta:

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

Es importante destacar que el recuento debe ser de una columna en la tabla de informes, no de la tabla de meses, o de lo contrario nunca obtendría un cero.