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

Auswählen nicht vorhandener Daten mit MySQL

Sie können Datumsangaben als abgeleitete Pseudotabelle aufzählen (mit UNION ) und dann mit Ihren Daten verknüpfen

SELECT dates.date, COALESCE(attendance.total,0) AS total FROM (
SELECT '2012-07-02' AS date
UNION ALL SELECT '2012-07-03'
UNION ALL SELECT '2012-07-04'
) AS dates
LEFT JOIN attendance USING(date)

Bearbeiten:COALESCE hinzugefügt um 0 zurückzugeben statt NULL auf fehlende Aufzeichnungen.