Ich habe eine Tabelle die wie folgt aufgebaut ist:
id | timestamp | wert
Folgende Daten sind beispielsweise enthalten:
5 | 1301413413 | 1
4 | 1301413413 | 1
3 | 1301232332 | 1
2 | 1300232332 | 1
1 | 1301322123 | 1
Wie kann ich am sinnvollsten für die letzten 30 Tage eine Anfrage machen, die mir die Anzahl der Einträge pro Tag zurück gibt? Also in der Form:
29.03.2011 | 3
28.03.2011 | 7
.
.
.
Bis zu folgendem Statement weiss ich leider nicht mehr weiter:
SELECT FROM_UNIXTIME(`timestamp`, '%d.%m.%Y') as datum , COUNT(*) FROM `tabelle` GROUP BY FROM_UNIXTIME(`timestamp`, '%d.%m.%Y') ORDER BY timestamp DESC LIMIT 0,30
Ich bekomme zwar die Werte pro Tag, allerdings nicht für die letzten 30 Tage. Auch sollen Tage, an denen es keine Einträge gab, mit 0 angezeigt werden.
id | timestamp | wert
Folgende Daten sind beispielsweise enthalten:
5 | 1301413413 | 1
4 | 1301413413 | 1
3 | 1301232332 | 1
2 | 1300232332 | 1
1 | 1301322123 | 1
Wie kann ich am sinnvollsten für die letzten 30 Tage eine Anfrage machen, die mir die Anzahl der Einträge pro Tag zurück gibt? Also in der Form:
29.03.2011 | 3
28.03.2011 | 7
.
.
.
Bis zu folgendem Statement weiss ich leider nicht mehr weiter:
SELECT FROM_UNIXTIME(`timestamp`, '%d.%m.%Y') as datum , COUNT(*) FROM `tabelle` GROUP BY FROM_UNIXTIME(`timestamp`, '%d.%m.%Y') ORDER BY timestamp DESC LIMIT 0,30
Ich bekomme zwar die Werte pro Tag, allerdings nicht für die letzten 30 Tage. Auch sollen Tage, an denen es keine Einträge gab, mit 0 angezeigt werden.
Kommentar