Tipps zur Datenstatistik in MySQL

Tipps zur Datenstatistik in MySQL

Als häufig verwendete Datenbank erfordert MySQL viele Operationen. Es ist sehr praktisch für digitale Operationen. In diesem Abschnitt finden Sie einige statistische Fälle zu Ihrer Information!

Die Bestelltabelle zum Beispiel:

Tabelle „yyd_order“ erstellen (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NICHT NULL,
  `order_nid` varchar(50) NICHT NULL,
  `status` varchar(50) NICHT NULL STANDARD '0',
  `Geld` Dezimalzahl (20,2) NICHT NULL STANDARD '0,00',
  `create_time` Zeitstempel NICHT NULL STANDARD CURRENT_TIMESTAMP,
  `update_time` Zeitstempel NICHT NULL STANDARD CURRENT_TIMESTAMP BEI UPDATE CURRENT_TIMESTAMP,
  Primärschlüssel (`id`),
  SCHLÜSSEL `userid` (`user_id`),
  SCHLÜSSEL `createtime` (`create_time`),
  SCHLÜSSEL `updatetime` (`update_time`)
)ENGINE=InnoDB;

1. Zählen Sie die Anzahl der pro Tag eingegangenen Bestellungen, date_format

Wählen Sie DATE_FORMAT (t. `Erstellungszeit`, '%Y-%m-%d') t_date, ANZAHL (1) t_Anzahl von t_Reihenfolge t, wobei t. `Erstellungszeit` > '2018-05-11' GRUPPE NACH DATE_FORMAT (t. `Erstellungszeit`, '%Y-%m-%d');

2. Zählen Sie eingehende Bestellungen stündlich

SELECT DATE_FORMAT(t.`Erstellungszeit`, '%Y-%m-%d %H') t_Stunde, ANZAHL(1) t_Anzahl FROM t_Reihenfolge t WHERE t.`Erstellungszeit` > '2018-05-11' GROUP BY DATE_FORMAT(t.`Erstellungszeit`, '%Y-%m-%d %H');

3. Vergleich des Bestellvolumens im Vergleich zu gestern, Bestellung nach h, Datum

Wählen Sie DATE_FORMAT (t. `Erstellungszeit`, '%Y-%m-%d %H') t_date, ANZAHL (1) t_Anzahl aus yyd_Reihenfolge t, wobei t. `Erstellungszeit` > '2018-05-11' GRUPPE NACH DATE_FORMAT (t. `Erstellungszeit`, '%Y-%m-%d %H')
ORDER BY DATE_FORMAT(t.`Erstellungszeit`, '%H'),DATE_FORMAT(t.`Erstellungszeit`, '%Y-%m-%d %H');

4. Verglichen mit der gleichen Stunde der letzten Woche, die Bestellung eingegangen, Datum in, Bestellung bis

Wählen Sie DATE_FORMAT (t.`Erstellungszeit`, '%Y-%m-%d %H') t_date, COUNT (1) t_count FROM yyd_order t WHERE
 DATE_FORMAT(t.`Erstellungszeit`,'%Y-%m-%d') IN ('2018-05-03','2018-05-11') GRUPPE NACH DATE_FORMAT(t.`Erstellungszeit`, '%Y-%m-%d %H')
ORDER BY DATE_FORMAT(t.`Erstellungszeit`, '%H'),DATE_FORMAT(t.`Erstellungszeit`, '%Y-%m-%d %H'); 

5. Zählen Sie die zurückgegebenen Werte im Bemerkungsfeld, gruppieren Sie nach Bemerkung wie ...

Wählen Sie DATE_FORMAT(t.`create_time`, '%Y-%m-%d') t_date, ANZAHL(1) t_count, SUBSTRING_INDEX(SUBSTRING_INDEX(t.`msg`, '{', -1), '}', 1) t_rsp_msg FROM 
 cmoo_tab t WO t.`create_time` > '2018-05-17' UND t.`rsp_msg` WIE '%nextProcessCode%C9000%'
 GROUP BY DATE_FORMAT(t.`create_time`, '%Y-%m-%d'),SUBSTRING_INDEX(SUBSTRING_INDEX(t.`rsp_msg`, '{', -1), '}', 1);

6. Zählen Sie die Intervalle jedes Betrags jede Stunde, summieren Sie 1 0, zählen Sie jeweils

Wählen Sie DATE_FORMAT (t.create_time, '%Y-%m-%d') t_date, SUMME (WENN (t. `amount`>0 UND t. `amount`<1000, 1, 0)) t_0_1000, SUMME (WENN (t. `amount`>1000 UND t. `amount`<5000, 1, 0)) t_1_5000,
  SUMME (WENN (t. `Betrag`> 5000, 1, 0)) t_5000m VON mobp2p. `yyd_order` t WO t. `Erstellungszeit` > '2018-05-11' GRUPPE NACH DATE_FORMAT (t. `Erstellungszeit`, '%Y-%m-%d'); 

7. Zählen Sie eingehende Bestellungen um eine halbe Stunde, Etage h / 30, ebenso 10 Minuten, 20 Minuten

SELECT CONCAT(DATE_FORMAT(Erstellungszeit, '%Y-%m-%d %H:' ),IF(FLOOR(DATE_FORMAT(Erstellungszeit, '%i') / 30 ) = 0, '00','30')) AS Zeitbereich, COUNT(*) 
VON yyd_order WO Erstellungszeit>'2018-05-11' GRUPPIEREN NACH Zeitbereich ORDER BY DATE_FORMAT(Erstellungszeit, '%H:%i'), DATE_FORMAT(Erstellungszeit, '%Y-%m-%d') DESC; 

8. Erfolgsrate, Fehlerrate, temporärer Tabellenbeitritt pro Stunde

WÄHLEN SIE * AUS 
 (SELECT DATE_FORMAT(t.`create_time`, '%Y-%m-%d') t_date,COUNT(1) 'Anzahl der Erfolge' FROM yyd_order t WHERE t.`create_time` > '2018-05-17' AND t.`status` = 'repay_yes' GROUP BY DATE_FORMAT(t.`create_time`, '%Y-%m-%d')) t1
 RECHTS BEITRETEN 
 (AUSWÄHLEN DATE_FORMAT(t.`create_time`, '%Y-%m-%d') t_date,ANZAHL(1) 'Gesamt' AUS yyd_order t WO t.`create_time` > '2018-05-11' GRUPPE NACH DATE_FORMAT(t.`create_time`, '%Y-%m-%d')) t2 AUF t1.t_date=t2.t_date; 

9. Aktualisieren Sie den letzten Protokollstatuswert in der Protokolltabelle auf den Status in der Informationstabelle, aktualisieren Sie a join b auf xx und setzen Sie a.status = b.status, wobei tmp nach Benutzer-ID tmp2 gruppiert ist. Achten Sie auf den Index

UPDATE t_order t0 LINKS JOIN (SELECT * FROM (SELECT * FROM t_order_log t WHERE t.create_time>'2018-05-11' ORDER BY id DESC) t1
 GROUP BY t1.user_id ) ON t.user_id=t2.user_id SET t0.`status`=t2.status WHERE t0.`create_time`>'2018-05-11' AND t0.`status`=10;

10. Sichern Sie die Tabelle und erstellen Sie die Tabelle als „select xxx where xxx“

TABELLE t_m ERSTELLEN ALS SELECT * FROM t_order;

11. Ändern Sie einfach die Notizen, ohne die Tabelle zu sperren, schnell, alle Typen sind konsistent

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • 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
  • Der MySQL-Tagesstatistikbericht trägt 0 ein, wenn für diesen Tag keine Daten vorliegen
  • Zusammenfassung der MySQL-Zeitstatistikmethoden

<<:  React Native meldet den Fehler „Ein Parameter vom Typ ‚NSArray<id<RCTBridgeModule>> kann nicht initialisiert werden“ (Lösung)

>>:  So verwenden Sie den SS-Befehl anstelle von Netstat im Linux-Betrieb und bei der Wartung

Artikel empfehlen

Detaillierte Erläuterung der Angular-Datenbindung und ihrer Implementierung

Inhaltsverzeichnis Vorwort Was ist Datenbindung? ...

So laden Sie das JAR-Paket über die Webseite auf Nexus hoch

Wie lädt man das JAR-Paket in ein privates Lager ...

Muss MySql ein Commit durchführen?

Ob MySQL bei der Ausführung von Vorgängen wie Ein...

Der gesamte Prozessdatensatz der rekursiven Komponentenkapselung von Vue3

Inhaltsverzeichnis Vorwort 1. Rekursive Komponent...

Detaillierte Erklärung der grundlegenden Verwendung des SSH-Befehls ssh-keygen

Die SSH-Public-Key-Authentifizierung ist eine der...

Zusammenfassung mehrerer häufig verwendeter CentOS7-Images basierend auf Docker

Inhaltsverzeichnis 1 Docker installieren 2 Konfig...

Detaillierte Erklärung zur Erstellung von Schießspielen mit CocosCreator

Inhaltsverzeichnis Szeneneinstellung Spielressour...

Zusammenfassung der Anwendungsbereiche von Kubernetes

Kubernetes ist aufgrund seiner Anwendungsportabil...

Fehlereinfügungsanalyse der Funktion „updatexml()“ von MySQL

Verstehen Sie zunächst die Funktion updatexml() U...

Detaillierte Erklärung der CSS-Textdekoration Textdekoration & Texthervorhebung

In CSS ist Text eines der häufigsten Dinge, mit d...