MySQL implementiert Multi-Table-Assoziationsstatistiken (Unterabfragestatistiken) Beispiel

MySQL implementiert Multi-Table-Assoziationsstatistiken (Unterabfragestatistiken) Beispiel

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:
  • Beispiel für das Abrufen der neuesten Daten mithilfe einer MySQL-Mehrtabellenassoziations-Eins-zu-viele-Abfrage
  • Eine kurze Diskussion über die Implementierung von Multi-Table-unabhängigen Abfragen in MySQL
  • Detaillierte MySQL-Erklärung zur Multi-Table-Assoziationsabfrage

<<:  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

Artikel empfehlen

Zusammenfassung wichtiger Komponenten von MySQL InnoDB

Innodb umfasst die folgenden Komponenten 1. innod...

Datendiebstahl mit CSS in Firefox

0x00 Einführung Vor einigen Monaten habe ich eine...

So überwachen Sie den Linux-Serverstatus

Wir, insbesondere Linux-Ingenieure, haben täglich...

CSS3 realisiert den Animationseffekt der Lotusblüte

Schauen wir uns zunächst die Wirkung an: Dieser E...

MYSQL METADATA LOCK (MDL LOCK) MDL-Sperrproblemanalyse

1. Einleitung MDL-Sperren in MySQL haben schon im...

So greifen Sie über die IP-Adresse auf MySql zu

1. Melden Sie sich bei MySQL an: mysql -u root -h...

Probleme und Lösungen bei der Installation von Mininet auf Ubuntu 16.04.4LTS

Mininet Mininet ist eine leichtgewichtige, softwa...

Allgemeine grundlegende Linux-Befehle und -Verwendung

Dieser Artikel veranschaulicht anhand von Beispie...

JS implementiert einfachen Kalendereffekt

In diesem Artikel wird der spezifische JS-Code zu...

HTML-Grundlagen: Die grundlegende Struktur von HTML

Die Grundstruktur von HTML-Hypertextdokumenten bes...

Beispielcode zum Ändern der Farbe eines PNG-Bildes durch einen CSS3-Filter

Diese Methode verwendet den filter in CSS3 drop-s...