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

Detaillierte Erklärung der node.js-Installation und HbuilderX-Konfiguration

Tutorial zur npm-Installation: 1. Laden Sie das N...

Vergessen Sie nicht, den HTML-Tag zu schließen

Das Erstellen von Webseiten, die Webstandards ents...

Wissenspunkte zum Prinzip der MySQL-Join-Abfrage

Mysql Join-Abfrage 1. Grundlegende Konzepte Verbi...

Einfacher Webseitencode, der im NetEase-Blog verwendet wird

So verwenden Sie den Code im NetEase-Blog: Melden...

Beispielcode zum Hervorheben von Suchbegriffen im WeChat-Miniprogramm

1. Einleitung Wenn Sie im Projekt auf eine Anford...

Detaillierte Erläuterung der MySQL-Indexauswahl und -Optimierung

Inhaltsverzeichnis Indexmodell B+Baum Indexauswah...

Mehrere Möglichkeiten zum Speichern von Bildern in einer MySQL-Datenbank

Normalerweise müssen die von Benutzern hochgelade...

Drei Möglichkeiten zur Implementierung von Animationen in CSS3

Hiermit werden die Grundkenntnisse des Interviewt...

Windows kann den MySQL-Dienst nicht starten und meldet Fehler 1067 – Lösung

Als ich mich bei MySQL anmeldete, wurde mir plötz...