Dieser Artikel beschreibt anhand eines Beispiels die Implementierung von Multi-Table-Assoziationsstatistiken in MySQL. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: brauchen: Statistiken über die Prämienhöhe für jedes Buch, Aufladedatenstatistiken zu verschiedenen Zeitpunkten, Verbrauchsstatistiken, Entwerfen Sie vier Tabellen: Buchtabelle, Bestelltabelle, Belohnungsprotokolltabelle und Konsumprotokolltabelle, und verknüpfen Sie sie über die Buch-ID mit der Buchtabelle. Frage: Wenn mehr als zwei Tabellen verknüpft sind, kommt es bei der Statistik zu Datenduplizierungen. Um dies herauszufinden, müssen Sie eine Unterabfrage verwenden. Eine Unterabfrage kann nur ein Feld abfragen. Hier wird die Funktion CONCAT_WS verwendet, um mehrere Felder zu verketten. erreichen: Der Abfragecode lautet wie folgt WÄHLEN Gebot, b.Buchname, Summe( WENN ( o.Erstellungszeit > 0 und o.Erstellungszeit < 9999999999, o.Preis, 0 ) ) heute_Geld_zahlen, Summe( WENN ( o.Erstellungszeit > 0 und o.Erstellungszeit < 9999999999, 1, 0 ) ) heutige_Zahlzahl, Summe( WENN ( o.Erstellungszeit > 999 && o.Erstellungszeit < 9999, o.Preis, 0 ) ) gestern_Geld_zahlen, Summe( WENN ( o.Erstellungszeit > 999 und o.Erstellungszeit < 9999, 1, 0 ) ) gestern_Zahlungsnummer, Summe(o.Preis) Gesamtbetrag, Summe( WENN ( o.Erstellungszeit > 9999 und o.Erstellungszeit < 99999, 1, 0 ) ) Gesamtzahlungszahl, (SELECT SUM(Gesamtpunktzahl) FROM Buchbelohnungslog WHERE Buch-ID = b.id) Gesamtpunktzahl, ( WÄHLEN CONCAT_WS( ',', SUMME(WENN (Erstellungszeit > 0 und Erstellungszeit < 998, Punktzahl, 0)), SUMME(WENN (Erstellungszeit > 9999 und Erstellungszeit < 99998, Punktzahl, 0)), SUMME(WENN (Erstellungszeit > 99999 und Erstellungszeit < 999998, Punktzahl, 0)) ) AUS book_consume_log WO Buch-ID = b.id ) Punktzahl AUS book_book b LINKS JOIN Buchbestellungen o ON b.id = o.bid GRUPPELN NACH Gebot Abfrageergebnisse Der Score besteht aus drei Verbrauchszahlen, getrennt durch Kommas Leistungsanalyse Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „Zusammenfassung der allgemeinen MySQL-Funktionen“, „MySQL-Protokolloperationskenntnisse“, „Zusammenfassung der MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“ und „Zusammenfassung der MySQL-Datenbanksperrenkenntnisse“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: Lassen Sie uns im Detail darüber sprechen, wie JavaScript den Aufbau des DOM-Baums beeinflusst
>>: Diagramm des Prozesses zur Implementierung eines Richtungsproxys durch Nginx
Innodb umfasst die folgenden Komponenten 1. innod...
1. Führen Sie zuerst die Select-Anweisung aus, um...
0x00 Einführung Vor einigen Monaten habe ich eine...
Relativer Pfad – ein Verzeichnispfad, der basieren...
Wir, insbesondere Linux-Ingenieure, haben täglich...
Schauen wir uns zunächst die Wirkung an: Dieser E...
1. Einleitung MDL-Sperren in MySQL haben schon im...
1. Melden Sie sich bei MySQL an: mysql -u root -h...
1. Aufgetretene Probleme Bei der verteilten Proje...
Mininet Mininet ist eine leichtgewichtige, softwa...
Dieser Artikel veranschaulicht anhand von Beispie...
In diesem Artikel wird der spezifische JS-Code zu...
Die Grundstruktur von HTML-Hypertextdokumenten bes...
Der Erste: 1. Fügen Sie wichtige Headerdateien hi...
Diese Methode verwendet den filter in CSS3 drop-s...