Beim Erstellen von Datenbankstatistiken müssen Sie häufig Daten basierend auf Jahr, Monat und Tag erfassen und anschließend E-Charts zum Erstellen von Visualisierungen verwenden. Datenbank: MySQL Ideen Die Voraussetzung für Statistiken, die auf der Zeitdimension basieren, ist, dass die Datenbank Zeitinformationen gespeichert haben muss. Es wird empfohlen, den mit MySQL gelieferten Datums-/Uhrzeittyp zum Aufzeichnen der Zeit zu verwenden.
Die Hauptfunktion zur Verarbeitung von Uhrzeit und Datum in MySQL ist DATE_FORMAT(Datum,Format). Die verfügbaren Parameter sind wie folgt
Hinweis: Bei Tagesstatistiken ist %j erforderlich. Bei Verwendung von %d, %e, %w werden gleiche Werte in unterschiedlichen Monaten/Wochen zusammengezählt. Um die aktuelle Uhrzeit abzurufen, können Sie now() oder sysdate() verwenden. WÄHLEN SIE SYSDATE() AUS DUAL; WÄHLEN SIE JETZT() VON DUAL; Sie können die Gruppierung nach Abfrage entsprechend dem tatsächlichen Bedarf verwenden. Fazit <br /> Die zu zählende Tabellenstruktur ist wie folgt: CREATE TABLE `apilog` ( `id` int(11) NICHT NULL AUTO_INCREMENT, `Benutzername` varchar(64) DEFAULT NULL, `Aktion` varchar(64) DEFAULT NULL, `params`-Text, `Ergebnis`-Text, `Zeitstempel` Datum/Uhrzeit DEFAULT NULL, PRIMÄRSCHLÜSSEL (`id`) ) Zählen Sie die Anzahl der Aktionen verschiedener Kategorien innerhalb des Zeitbereichs # SELECT-Aktion für den Tag, COUNT(id) count FROM apilog WHERE DATE_FORMAT(`timestamp`,'%j') = DATE_FORMAT(now(),'%j') ORDER BY count desc; # Diese Woche SELECT-Aktion, COUNT(id) count FROM apilog WHERE DATE_FORMAT(`timestamp`,'%u') = DATE_FORMAT(now(),'%u') ORDER BY count desc; # Aktueller Monat SELECT-Aktion, COUNT(id) count FROM apilog WHERE DATE_FORMAT(`timestamp`,'%m') = DATE_FORMAT(now(),'%m') ORDER BY count desc; # SELECT-Aktion, COUNT(id) Anzahl FROM apilog WHERE DATE_FORMAT(`timestamp`,'%Y') = DATE_FORMAT(now(),'%Y') ORDER BY Anzahl desc; Zählen Sie die Anzahl der Zeitdimensionen einer bestimmten Klassifizierungsaktion # Nach Tag SELECT Aktion, DATE_FORMAT(`timestamp`,'%j'), COUNT(id) Anzahl FROM apilog WHERE Aktion = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%j') # Nach Woche SELECT Aktion, DATE_FORMAT(`timestamp`,'%u'), COUNT(id) Anzahl FROM apilog WHERE Aktion = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%u') # Nach Monat SELECT Aktion, DATE_FORMAT(`timestamp`,'%m'), COUNT(id) Anzahl FROM apilog WHERE Aktion = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%m') # Nach Jahr SELECT Aktion, DATE_FORMAT(`timestamp`,'%Y'), COUNT(id) Anzahl FROM apilog WHERE Aktion = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%Y') Statistiken nach Aktions- und Zeitdimensionen gleichzeitig # Nach Tag SELECT-Aktion, DATE_FORMAT(`timestamp`,'%j'), COUNT(id) Anzahl FROM apilog GROUP BY-Aktion, DATE_FORMAT(`timestamp`,'%j') # Nach Woche SELECT-Aktion, DATE_FORMAT(`timestamp`,'%u'), COUNT(id) Anzahl FROM apilog GROUP BY-Aktion, DATE_FORMAT(`timestamp`,'%u') # Nach Monat SELECT-Aktion, DATE_FORMAT(`timestamp`,'%m'), COUNT(id) Anzahl FROM apilog GROUP BY-Aktion, DATE_FORMAT(`timestamp`,'%m') # Nach Jahr SELECT-Aktion, DATE_FORMAT(`timestamp`,'%Y'), COUNT(id) Anzahl FROM apilog GROUP BY-Aktion, DATE_FORMAT(`timestamp`,'%Y') Oben sind die am häufigsten verwendeten Zeitstatistiken aufgeführt. Weitere Zeitdimensionen finden Sie in der Parametertabelle oben für ähnliche Verarbeitungen. Das könnte Sie auch interessieren:
|
<<: Detaillierte Analyse des Event-Bubbling-Mechanismus in JavaScript
Aktuell besteht die Anforderung, dass beim Klicke...
1. Überprüfen und installieren Sie pssh, yum list...
Ich habe vor Kurzem mein SQL-Lernen beendet und M...
Tutorial zur npm-Installation: 1. Laden Sie das N...
Das Erstellen von Webseiten, die Webstandards ents...
Inhaltsverzeichnis 1. Container-Service-Update un...
Mysql Join-Abfrage 1. Grundlegende Konzepte Verbi...
Dieser Artikel stellt hauptsächlich ein Beispiel ...
So verwenden Sie den Code im NetEase-Blog: Melden...
1. Einleitung Wenn Sie im Projekt auf eine Anford...
Inhaltsverzeichnis Indexmodell B+Baum Indexauswah...
Normalerweise müssen die von Benutzern hochgelade...
Hiermit werden die Grundkenntnisse des Interviewt...
Erstellen einer Datenbank Rechtsklick - Neue Date...
Als ich mich bei MySQL anmeldete, wurde mir plötz...