Ein praktischer Bericht über die Prüfung und Bearbeitung doppelter MySQL-Datensätze vor Ort

Ein praktischer Bericht über die Prüfung und Bearbeitung doppelter MySQL-Datensätze vor Ort

Vorwort

Ich war auf einer Geschäftsreise bei einem Kunden, um Software bereitzustellen und zu debuggen. Eines Tages kam der Kunde plötzlich zu mir und sagte, dass es eine Anomalie in den vor Ort erstellten Daten gebe. Die deutlichste Äußerung war, dass dasselbe Etikett auf mehreren Materialien erschien. Sie brauchten meine Mitarbeit, um herauszufinden, wie das Problem zu beheben sei.

analysieren

Der Kunde stellte einen Stapel Kartons mit doppelten Etiketten vor mich. Ich hatte solche Angst, dass ich befürchtete, ich wäre in großen Schwierigkeiten.

Nach kurzem Überlegen müssen wir nun die Datenbank nach doppelten Tags abfragen, das heißt, wir müssen die Tags zählen und diejenigen ermitteln, deren Anzahl > 1 ist.

Ähm, Grammatikfehler, ich erinnere mich, dass es ein "Having" gab, versuchen wir es stattdessen

Wow, es gibt mehr als 1.500 doppelte Tags. Zählen wir die Gesamtzahl der Fragen und gruppieren sie, um den Prozentsatz doppelter Tags anzuzeigen.

Übrigens, werfen Sie diese doppelten Etikettendaten zuerst dem Kunden vor, um das Produkt zu verfolgen (glücklicherweise unterstützt Navicat das Kopieren von Daten).

Daten insgesamt

Das Ergebnis des obigen Abfragedatensatzes ist eine temporäre Tabelle. Basierend darauf wird sum() verwendet, um zu summieren

Es gibt viele doppelte Datensätze, was ein großes Problem darstellt.

Wiederholungsrate

Ändern Sie die Abfragemethode der vorherigen Abfragetabelle, d. h. gruppieren Sie die Zähldaten erneut

Den Ergebnissen zufolge wurden die meisten Problemdaten zweimal wiederholt.

Der Unterschied zwischen Wo und Haben

Where ist eine Einschränkungsanweisung, die die Abfragebedingungen in der Datenbank einschränkt, bevor die Abfrageergebnisse zurückgegeben werden. Das heißt, sie wird wirksam, bevor die Ergebnisse zurückgegeben werden, und nach Where können keine Aggregatfunktionen verwendet werden.

Having ist eine Filteranweisung. Die sogenannte Filterung wird ausgeführt, nachdem die Ergebnisse der Datenbankabfrage zurückgegeben wurden, d. h. sie wird wirksam, nachdem die Ergebnisse zurückgegeben wurden, und die Aggregationsfunktion kann nach Having verwendet werden.

Die sogenannte Aggregatfunktion ist eine Funktion, die eine Reihe von Werten berechnet und einen einzelnen Wert zurückgibt: sum–-- Summe, count–-- Anzahl, max–-- Maximalwert, avg–-- Durchschnittswert usw.

Zusammenfassen

Bei der Abfrageoperation von MySQL verwenden wir normalerweise eine gemeinsame Abfrage mehrerer Tabellen, verwenden die Abfrageergebnisse als Zwischentabelle für mehrere Abfragen, gruppieren die Abfrageergebnisse, führen statistische Aggregationen und andere Operationen durch

Wenn bei der Abfrageoperation eine Funktionsberechnung oder Gruppierung verwendet wird, besteht die typische Funktion darin, mehrere Datensätze in der Originaltabelle zu einem zusammenzuführen, und „having“ ist erforderlich, um die Ergebnisse dieser Operationen zu filtern. Verwenden Sie außerdem „where“, um die Tabellendatensätze bedingt zu filtern.

Dies ist das Ende dieses Artikels zur Fehlerbehebung und Verarbeitung doppelter MySQL-Datensätze vor Ort. Weitere Informationen zur Fehlerbehebung und Verarbeitung doppelter MySQL-Datensätze finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • MySQLs Methode zum Umgang mit doppelten Daten (Verhindern und Löschen)
  • MySQL-Lernnotizen zum Umgang mit doppelten Daten
  • So handhaben Sie gleichzeitige Aktualisierungen von MySQL-Daten
  • Detaillierte Erläuterung des MySQL-Ausführungsprinzips, der logischen Schichtung und der Änderung der Datenbankverarbeitungs-Engine
  • Einige Methoden zur Optimierung der Abfragegeschwindigkeit bei der Verarbeitung großer Datenmengen durch MySQL
  • Sortieren der MySQL-Datenverarbeitung und Erläuterung der Vorgänge zum Hinzufügen, Löschen und Ändern

<<:  Docker-Installations- und Konfigurationsschritte für RabbitMQ

>>:  Eine vollständige Liste häufig verwendeter HTML-Tags und ihrer Eigenschaften

Artikel empfehlen

Vue Grundlagen Listener Detaillierte Erklärung

Inhaltsverzeichnis Was ist ein Listener in Vue? V...

So implementieren Sie die Größenanpassung mobiler Webseiten

Ich habe das vorliegende Projekt endlich abgeschl...

Natives JS zur Realisierung eines springenden Balls

Aus einer Laune heraus habe ich eine Fallstudie ü...

Detaillierte Erläuterung des Excel-Parsings und -Exports basierend auf Vue

Inhaltsverzeichnis Vorwort Grundlegende Einführun...

MySQL-Triggerprinzip und Analyse von Anwendungsbeispielen

Dieser Artikel erläutert anhand von Beispielen di...

Detaillierte Erklärung der MySQL DEFINER-Verwendung

Inhaltsverzeichnis Vorwort: 1. Kurze Einführung i...

8 Befehle zur effektiven Verwaltung von Prozessen in Linux

Vorwort Die Rolle des Prozessmanagements: Integri...

Nginx-Inhaltscache und allgemeine Parameterkonfigurationsdetails

Anwendungsszenarien: Die Seiten des Projekts müss...

Unterscheidung zwischen Linux-Hardlinks und Softlinks

Unter Linux gibt es zwei Arten von Dateiverbindun...

Detaillierte Darstellung des MySQL 5.7.33-Installationsprozesses

Inhaltsverzeichnis Download des Installationspake...

Schreiben von Methoden, die in nativem JS verboten sein sollten

Inhaltsverzeichnis Funktionen auf Blockebene Ände...

MySQL-Datenbankoperationen (Erstellen, Auswählen, Löschen)

MySQL-Datenbank erstellen Nachdem wir uns beim My...

Erläuterung des MySQL-Multitabellen-Join-Abfragebeispiels

In tatsächlichen Projekten gibt es Beziehungen zw...