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
Inhaltsverzeichnis 1. RegExp-Objekt 2. Grammatik ...
## 1 Ich lerne gerade die Docker-Bereitstellung u...
Es gibt offensichtliche Unterschiede zwischen der...
In Projekten wird häufig das zweispaltige Layout ...
Lottie ist eine von Airbnb entwickelte Open-Sourc...
Installation Die erforderlichen Unterlagen finden...
Er gibt beispielsweise ein: XML/HTML Code div#Seit...
Meistens werden Plug-Ins zum Hochladen von Dateie...
Inhaltsverzeichnis 1. Einleitung 1.1 Babel-Transc...
Die Installation komprimierter Pakete hat sich se...
Inhaltsverzeichnis 1. Dekonstruktionstipps 2. Dig...
Meine ursprüngliche Absicht war, die $notify-Bena...
Wenn Sie Magento häufig ändern, stoßen Sie möglich...
Inhaltsverzeichnis 1. Einführung in UDP und Linux...
In diesem Artikelbeispiel wird der spezifische Co...