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

Wie generiert man Daten in MySQL?

SQL ist notorisch schlecht darin, Daten zurückzugeben, die sich nicht in der Datenbank befinden. Sie können die Anfangs- und Endwerte für Lücken finden von Daten, aber es ist schwierig, alle Daten zu bekommen.

Die Lösung besteht darin, eine Kalendertabelle mit einem Datensatz für jedes Datum zu erstellen und diesen mit Ihrer Abfrage OUTER JOIN.

Hier ist ein Beispiel, bei dem angenommen wird, dass created_at vom Typ DATE:

ist
SELECT calendar_date, COUNT(`id`)
FROM calendar LEFT OUTER JOIN my_table ON calendar.calendar_date = my_table.created_at
GROUP BY calendar_date

(Ich vermute, dass created_at wirklich DATETIME ist, also musst du ein bisschen mehr Gymnastik machen, um an den Tischen JOIN zu sein).