Zusammenfassung der MySQL-Zeitstatistikmethoden

Zusammenfassung der MySQL-Zeitstatistikmethoden

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.

`Zeitstempel` Datum/Uhrzeit DEFAULT NULL,

Die Hauptfunktion zur Verarbeitung von Uhrzeit und Datum in MySQL ist DATE_FORMAT(Datum,Format). Die verfügbaren Parameter sind wie folgt

Format beschreiben
%A Abgekürzter Wochentag
%B Abgekürzter Monatsname
%C Monat, Wert
%D Tage des Monats mit englischen Präfixen
%D Tag des Monats, numerischer Wert (00-31)
%e Tag des Monats, numerisch (0-31)
%F Mikrosekunden
%H Stunden (00-23)
%H Stunden (01-12)
%ICH Stunden (01-12)
%ich Minute, numerischer Wert (00-59)
%J Tag des Jahres (001-366)
%k Stunden (0-23)
%l Stunden (1-12)
%M Monatsname
%M Monat, numerischer Wert (00-12)
%P AM oder PM
%R Uhrzeit, 12 Stunden (hh:mm:ss AM oder PM)
%S Sekunden (00-59)
%S Sekunden (00-59)
%T Uhrzeit, 24 Stunden (hh:mm:ss)
%U Woche (00-53) Sonntag ist der erste Tag der Woche
%u Woche (00-53) Montag ist der erste Tag der Woche
%V Woche (01-53) Sonntag ist der erste Tag der Woche, verwendet mit %X
%v Woche (01-53) Montag ist der erste Tag der Woche, verwendet mit %x
%W Wochentag
%w Wochentag (0=Sonntag, 6=Samstag)
%X Jahr, wobei Sonntag der erste Tag der Woche ist, 4 Ziffern, verwendet mit %V
%X Jahr, wobei Montag der erste Tag der Woche ist, 4 Ziffern, verwendet mit %v
%Y Jahr, 4-stellig
%y Jahr, 2 Ziffern

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:
  • MySQL-Beispiel zum Umwandeln des Geburtsdatums in das Alter und zum Gruppieren und Zählen der Personenanzahl
  • Gründe, warum MySQL 8.0-Statistiken ungenau sind
  • Eine kurze Diskussion über die MySQL-Zeilenanzahl
  • Ein kleines Shell-Skript zum genauen Zählen der Zeilenanzahl in jeder MySQL-Tabelle
  • MySQL implementiert Multi-Table-Assoziationsstatistiken (Unterabfragestatistiken) Beispiel
  • Laravel implementiert die Methode zum Zählen von MySQL-Daten nach Monat, Tag oder Stunde
  • SQLServer/MySQL-Statistiken kontinuierlicher Zeitdaten nach Tag, Stunde, Minute [empfohlen]
  • Detaillierte Erläuterung von MySQL zum Abrufen statistischer Daten für jeden Tag und jede Stunde eines bestimmten Zeitraums
  • PHP+MySQL, um innerhalb eines bestimmten Zeitraums ein Beispiel für eine tägliche Datenstatistikoptimierung zu erreichen
  • PHP-Code für Werbeklickstatistiken (php+mysql)
  • Übersicht über MySQL-Statistiken
  • Eine kurze Analyse der MySQL-Kardinalitätsstatistiken

<<:  Detaillierte Analyse des Event-Bubbling-Mechanismus in JavaScript

>>:  Detaillierte Schritte zum Installieren und Debuggen einer MySQL-Datenbank unter CentOS7 [Beispiel]

Artikel empfehlen

Eine kurze Diskussion über reguläre JS-RegExp-Objekte

Inhaltsverzeichnis 1. RegExp-Objekt 2. Grammatik ...

Der Unterschied zwischen VOLUME und docker -v in Dockerfile

Es gibt offensichtliche Unterschiede zwischen der...

Lösung für die Ineffektivität der flexiblen Layoutbreite in CSS3

In Projekten wird häufig das zweispaltige Layout ...

So verwenden Sie Lottie-Animationen in React Native-Projekten

Lottie ist eine von Airbnb entwickelte Open-Sourc...

Grafisches Tutorial zur MySQL8-Installationsversion

Installation Die erforderlichen Unterlagen finden...

Zen-Codierung für Editplus – Beispielcodebeschreibung

Er gibt beispielsweise ein: XML/HTML Code div#Seit...

Dateiupload über HTML5 auf Mobilgeräten

Meistens werden Plug-Ins zum Hochladen von Dateie...

Über Front-End JavaScript ES6 Details

Inhaltsverzeichnis 1. Einleitung 1.1 Babel-Transc...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.18 winx64

Die Installation komprimierter Pakete hat sich se...

Sechs merkwürdige und nützliche Dinge über JavaScript

Inhaltsverzeichnis 1. Dekonstruktionstipps 2. Dig...

Eine kurze Erläuterung der $notify-Punkte des Elements

Meine ursprüngliche Absicht war, die $notify-Bena...

Informationen zu UDP in Linux

Inhaltsverzeichnis 1. Einführung in UDP und Linux...

Vue implementiert einen einfachen Bildwechseleffekt

In diesem Artikelbeispiel wird der spezifische Co...