Hallo liebe Community,
ehrlich gesagt, ist es mir etwas peinlich, die folgende Frage zu stellen, aber momentan stehe ich gewaltig auf dem Schlauch und komme nicht weiter.
Zum besseren Verständnis ein bisschen Background:
Ich arbeite in einer Bibliothek und möchte eine Statistik erstellen, die die Zugriffe auf Onlinezeitschriften darstellt. Diese Statistik soll folgenden Aufbau haben.
Zeitschrift | Zugriffe im Januar | Zugriffe im Februar | Zugriffe im März | … | Zugriffe 2012
Die Daten lese ich aus dem Access-Log des Proxys (squid) und speichere sie in eine MySQL DB. Die Tabelle, auf die es ankommt, ist wie folgt aufgebaut.
proxyLog.jpg
Die Spalte journal enthält eine eindeutige ID, die die Zeitschrift kennzeichnet. Die Spalte Zeit speichert die Zugriffszeit.
Meine erste Idee war folgende Query
Als Ergebnis erhielt ich in jeder Spalte (außer der Ersten natürlich) die Anzahl aller Einträge einer Zeitschrift, nicht aber die Anzahl der Zugriffe des Monats.
Das Erweitern der group by Klausel um den Ausdruck month(zeit)
bringt mich meinem Ziel zwar schon näher, listet die Monate aber zeilen- und nicht spaltenweise.
Kann mir jemand, bevor ich noch verzweifle, einen kleinen Tipp bzw. Denkanstoß geben?
MfG
ck123
ehrlich gesagt, ist es mir etwas peinlich, die folgende Frage zu stellen, aber momentan stehe ich gewaltig auf dem Schlauch und komme nicht weiter.
Zum besseren Verständnis ein bisschen Background:
Ich arbeite in einer Bibliothek und möchte eine Statistik erstellen, die die Zugriffe auf Onlinezeitschriften darstellt. Diese Statistik soll folgenden Aufbau haben.
Zeitschrift | Zugriffe im Januar | Zugriffe im Februar | Zugriffe im März | … | Zugriffe 2012
Die Daten lese ich aus dem Access-Log des Proxys (squid) und speichere sie in eine MySQL DB. Die Tabelle, auf die es ankommt, ist wie folgt aufgebaut.
proxyLog.jpg
Die Spalte journal enthält eine eindeutige ID, die die Zeitschrift kennzeichnet. Die Spalte Zeit speichert die Zugriffszeit.
Meine erste Idee war folgende Query
Code:
select journal, count(month(zeit) = '1') as Januar, … , count(zeit) as Gesamt from proxylog where year(zeit) = '2012' group by journal;
Das Erweitern der group by Klausel um den Ausdruck month(zeit)
Code:
select journal, count(month(zeit) = '1') as Januar, … , count(zeit) as Gesamt from proxylog where year(zeit) = '2012' group by journal, month(zeit);
Kann mir jemand, bevor ich noch verzweifle, einen kleinen Tipp bzw. Denkanstoß geben?
MfG
ck123
Comment