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

Warum node.js nicht für große Projekte geeignet ist

Inhaltsverzeichnis Vorwort 1. Anwendungskomponent...

Eine kurze Diskussion über Browserkompatibilitätsprobleme in JavaScript

Die Browserkompatibilität ist der wichtigste Teil...

React+axios implementiert die Suchbenutzerfunktion von GitHub (Beispielcode)

laden Anforderung erfolgreich Anforderung fehlges...

Vue3 implementiert CSS unendlichen nahtlosen Scrolleffekt

In diesem Artikelbeispiel wird der spezifische Co...

Natives js zur Realisierung der Bild-Upload-Steuerung

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der nmcli-Verwendung in CentOS8

Allgemeine nmcli-Befehle basierend auf RHEL8/Cent...

Detaillierte Erklärung der Verwendung des Linux-Befehls „tee“

Der Befehl tee wird hauptsächlich verwendet, um d...

Detaillierte Erläuterung der MySQL 8.0-Richtlinie zum Ablauf von Passwörtern

Ab MySQL 8.0.16 können Sie eine Richtlinie zum Ab...

Beispiel für die Verwendung der setInterval-Funktion in React

Dieser Artikel basiert auf der Windows 10-Systemu...