Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Abfrage:Schließen Sie Tage ein, die COUNT(id) ==0 haben, aber nur in den letzten 30 Tagen

Sie benötigen eine Datumstabelle und dann einen linken Join zur Builds-Tabelle.

Etwa so:

SELECT 
    COUNT(id) AS 'Past-Month-Builds', 
    CONCAT(MONTH(DateTable.Date), '-', DAY(DateTable.Date)) as 'Month-Day' 
FROM DateTable
    LEFT JOIN builds ON DATE(builds.submittime) = DateTable.Date
WHERE DateTable.Date >= DATE_SUB(CURDATE(), INTERVAL 30 day) 
GROUP BY MONTH(submittime), DAY(submittime);