2009-08-24 21 views
2

Ich habe eine PHP-Anwendung mit CakePHP. Ich muss eine Tabelle mit den einzelnen Ereignissen für jeden Tag des Monats vorlegen. Jedes Ereignis wird in der Datenbank mit einem Namen und einer Daten aufgezeichnet. Was ist der beste Weg, um eine Tabelle dafür zu erstellen, muss ich wirklich 31 SQL-Aufrufe, um die Ereignisse für jeden Tag zu zählen, oder die Daten für den gesamten Monat herausnehmen und dann in meiner App analysieren, oder gibt es a besser finden Sie Befehl, mit Kuchen zu verwenden?Mehrere Punkte in CakePHP

Antwort

4

Sie könnten die Ereignisse ZÄHLEN, und GROUP BY das Datum, an dem sie aufgetreten sind.

Beispiel:

SELECT eventDate, COUNT() as 'events' 
FROM events 
GROUP BY eventDate 
ORDER BY eventDate ASC 

Welche Ergebnisse ähnlich der folgenden machen kann:

2009-08-11 | 23 
2009-08-09 | 128 
2009-08-06 | 15 

Wenn Sie speichern Datum und Uhrzeit als eventdate, müssen Sie die substr() verwenden Funktion um Ereignisse nur nach dem Datum zu gruppieren:

SELECT substr(eventDate, 1, 10) as 'date', COUNT() as 'events' 
FROM events 
GROUP BY substr(eventDate, 1, 10) 
ORDER BY eventDate ASC 
Verwandte Themen