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
Frontend ist ein harter Job, nicht nur weil sich ...
Beim Erstellen einer Website treten immer wieder P...
JavaScript-Umschalteffekt für Bekleidungsalben (ä...
Nach der Installation von Docker gibt es normaler...
Vorwort Aufgrund meines MySQL-Verständnisses denk...
1. Methode zum Festlegen des Fremdschlüssels 1. U...
Inhaltsverzeichnis 1. Der Unterschied zwischen Fu...
Vorwort Der optionale Verkettungsoperator (?.) er...
Vorne geschrieben In der Vergangenheit und in akt...
Die Rich-Text-Komponente ist eine sehr häufig ver...
Das leistungsstarke Tool cgroup im Kernel kann ni...
Als ich kürzlich an einem Frontend-Docking-Funkti...
Der Ursprung des Problems Das erste Mal, dass ich...
Inhaltsverzeichnis Vorwort Was ist Datenbindung? ...
Die Nginx-Konfiguration ist wie folgt: Wie http:/...