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

js, um einen 3D-Karusselleffekt zu erzielen

In diesem Artikel wird der spezifische Code zur I...

JS+Canvas zeichnet ein Glücksrad

In diesem Artikel wird der spezifische Code der J...

Analyse des HTML-Schreibstils und Gründe erfahrener Leute

1. Navigation: Ungeordnete Liste vs. andere Besch...

Analyse und Lösung des durch Chrome 73 verursachten Flex-Layout-Zusammenbruchs

Phänomen Es gibt mehrere verschachtelte Flex-Stru...

Div verschachteltes HTML ohne Iframe

Als ich kürzlich Hausaufgaben machte, musste ich e...

Tutorial zur Verwendung von Hyperlink-Tags in XHTML

Hyperlink, auch „Link“ genannt. Man kann sagen, d...

Detaillierte Erklärung des JS-Browser-Ereignismodells

Inhaltsverzeichnis Was ist ein Ereignis Ein einfa...

Wie kann MySQL das Löschen und Weglaufen von Datenbanken wirksam verhindern?

Inhaltsverzeichnis Einstellungen für den abgesich...

Problem mit der Parameterübergabe beim Sprung auf HTML-Seite

Die Wirkung ist wie folgt: eine Seite Nach dem Kl...

Das Raster ist Ihr Layoutplan für die Seite

<br /> Englisches Original: http://desktoppu...

So verwenden Sie Zeit als Beurteilungsbedingung in MySQL

Hintergrund: Während des Entwicklungsprozesses mü...

Einige häufige Fehler mit MySQL null

Laut Nullwerten bedeutet der Wert Null in MySQL l...

Vue-Überwachungseigenschaften und berechnete Eigenschaften

Inhaltsverzeichnis 1. Überwachungseigenschaften a...

Vue implementiert Div-Rad zum Vergrößern und Verkleinern

Implementieren Sie das Vergrößern und Verkleinern...