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
Vertreter / egrep Syntax: grep [-cinvABC] 'wo...
Vorwort Wenn es um Datenbanktransaktionen geht, f...
Inhaltsverzeichnis Frage Serverebene und Speicher...
veranschaulichen Bei der Front-End-Entwicklung tr...
Lösung Verzichten Sie auf die Linux-VM, die mit D...
Inhaltsverzeichnis Was macht die Funktion COUNT? ...
Notieren Sie die Installations- und Konfiguration...
Nur den oberen Rand anzeigen <table frame=above...
In diesem Artikel wird der Implementierungscode d...
In diesem Artikel wird der spezifische JavaScript...
Inhaltsverzeichnis 1. Fehlertoleranz bei der Joba...
Bevor Sie mit dem Haupttext dieses Artikels begin...
Inhaltsverzeichnis 1. Beispielszenario 1.1. Legen...
In diesem Artikelbeispiel wird der spezifische Co...
stat-Funktion und stat-Befehl Erklärung von [inod...