Statistiken erstellen

Hallo,

mal wieder ein Denkfehler.

ich möchte gerne umfangriche Statistiken erstellen. Hierzu habe ich die Spalte „count“ erstellt diese zeigt an wie oft einen Link geklickt wurde. zudem ist das Datum des letzten klicks gespeichert und das datum des anlegens des links.

Nun zu meinem Problem:

Zunächst möchte ich alle Werte der spalte count addieren. Ich habe es bereits mit SUM(count) innerhalb eine MySQL SELECT abfrage versucht. Das Ergebnis war „38“ obwohl ich ca. „68“ Einträge habe, wovon der Höchste bereits den Wert „34“ aufweist.

Dann möchte ich berechnen wieviele Links seit dem ersten eintrag duchschnittlich in der Woche und am Tag angelegt wurden.

Ich hoffe Ihr könnt mir zumindest teilweise weiterhelfen

Dank und Gruß Michaek

Ich kann dir nur empfehlen, erstmal die Tabelle in einen Array zu lesen. Alles mit SQL zu machen ist zwar um einiges eleganter, aber PHP dafür auf Dauer einfacher und übersichtlicher.

Etwas in der Art von:

function auswerten($array) {
foreach ($array as $value) {
$out[gesamt] = $out[gesamt] + $value[count];
if (!isset($date) OR strtotime($value[date])

Im Normalfall summiert sum() auch :smile:
Das muss an irgendwas anderem liegen. Passiert das auch wenn du den SQL-Befehl direkt in die Console eingibst ?

Hallo Michaek,
sum() sollte das Ergebnis liefern. Ich habe allerdings schon die seltsamsten Dinge erlebt wenn man Feldnamen nimmt die reservierten Wörter bzw Funktionen entsprechen (in deinem Fall „count“). Mich würde es mal interessen ob es das gleiche Ergebniss liefert wenn du das feld anders benennst. (zb: linkCount oder so). Ansonsten poste doch mal den ganzen SQL String.

Gruss
Quaser

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich kann dir nur empfehlen, erstmal die Tabelle in einen Array
zu lesen. Alles mit SQL zu machen ist zwar um einiges
eleganter, aber PHP dafür auf Dauer einfacher und
übersichtlicher.

Warum ??? Wenn ich das Problem in SQL in einer Zeile abhandeln kann, wieso umständlich in PHP und mit mehr Code (= grössere Fehlerquelle).
Und einfacher und übersichtlicher ist es definitiv nicht…

Mir fällt grad auf, das Schwierigste wird es wohl, die seit
dem ersten Eintrag verstrichenen Tage rauszufinden…

Das ist kein Prob. Man kann das mit MySQL gut lösen DAYOFYEAR(datum) gibt Dir auf ein bestimmtest Datum den Jahrestag zurück. Dann muss man halt diese funktion auf das aktuelle und das erste Eintragsdatum anwenden und Subtrahieren und man solte das Ergebnis erhalten. Hoff ich zumindest :smile:

Im Normalfall summiert sum() auch :smile:
Das muss an irgendwas anderem liegen. Passiert das auch wenn
du den SQL-Befehl direkt in die Console eingibst ?

hab ich noch nicht probiert. Werd ich aber mal tun.