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
Was sind XHTML-Tags? XHTML-Tag-Elemente sind die ...
Hier nehmen wir den Jenkins-Container als Beispie...
In Linux-Systemen, insbesondere Serversystemen, i...
Als ich kürzlich in einem Projekt eine Auswahlabf...
1. Kurze Einführung Vue.js ermöglicht es Ihnen, I...
!DOCTYPE Gibt die Document Type Definition (DTD) ...
Der MGR unserer Bank wird Ende des Jahres eingefü...
In letzter Zeit wurde der Server häufig mit Brute...
Inhaltsverzeichnis Vorwort Funktionen von Vue Nat...
Die Betriebsumgebung dieses Tutorials: Windows 7-...
In diesem Artikelbeispiel wird der spezifische JS...
Wie wird die Zeilenhöhe vererbt?Schreiben Sie ein...
Ich bin bei der Arbeit auf einen Fall gestoßen, ü...
Verwenden von mock.js im Vue-Projekt Auswahl des ...
1. Laden Sie die beschleunigte Version von msyql ...