Ich versuche, einige Webprotokolle von meinem Webserver zu analysieren. Ich habe alle Protokolle der letzten Woche in eine Mysql-Datenbank übertragen und analysiere die Protokolle.
Ich habe eine Tabelle erstellt mit sessionID
s und die Länge der Sitzung mit diesem mysql-Befehl:
SELECT
Log_Analysis_RecordsToSesions.sessionID,
ABS(TIMEDIFF(
MIN(Log_Analysis_Records.date),
MAX(Log_Analysis_Records.date)
)) as session_length
FROM
Log_Analysis_RecordsToSesions,
Log_Analysis_Records
WHERE
Log_Analysis_RecordsToSesions.recordID=Log_Analysis_Records.recordID
GROUP BY
sessionID;
-
+-----------+----------------+
| sessionID | session_length |
+-----------+----------------+
| 1 | 2031.000000 |
| 2 | 1954.000000 |
| 3 | 401.000000 |
...
Jetzt möchte ich die Anweisung so ändern, dass sie etwa so aussieht:
Range (time) Number of Sessions
0 to 2 10
2 to 4 4
4 to 6 60
...
Der Bereich wird eine feste Zeitspanne sein, und ich möchte die Anzahl der Sitzungen innerhalb dieses Bereichs zählen. Mein erster Gedanke ist es, Schleife durch sie alle mit php, aber das scheint sehr zeitaufwendig und grob. Gibt es eine Möglichkeit, dies in mysql zu tun?