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:
|
>>: So verwenden Sie den SS-Befehl anstelle von Netstat im Linux-Betrieb und bei der Wartung
Vorwort Wie wir alle wissen, ist „Wie zentriert m...
Inhaltsverzeichnis Vorwort 1. Anwendungskomponent...
Relativer Pfad – ein Verzeichnispfad, der basieren...
Vorwort Die Zeichenfolgentypen der MySQL-Datenban...
Die Browserkompatibilität ist der wichtigste Teil...
Beim Überprüfen der langsamen Abfrage stellte ich...
laden Anforderung erfolgreich Anforderung fehlges...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikelbeispiel wird der spezifische Co...
Allgemeine nmcli-Befehle basierend auf RHEL8/Cent...
Softwareversion Windows: Windows 10 MySQL: mysql-...
Der Befehl tee wird hauptsächlich verwendet, um d...
Ab MySQL 8.0.16 können Sie eine Richtlinie zum Ab...
Inhaltsverzeichnis 1 Bewertung 2 Fünf Strategien ...
Dieser Artikel basiert auf der Windows 10-Systemu...