MySQL-Abfrage doppelter Daten (löschen Sie doppelte Daten und behalten Sie die Daten mit der kleinsten ID als einzige Daten)

MySQL-Abfrage doppelter Daten (löschen Sie doppelte Daten und behalten Sie die Daten mit der kleinsten ID als einzige Daten)

Entwicklungshintergrund:

Ich arbeite derzeit an einer Funktion zum Importieren von Batchdaten in eine MySQL-Datenbank. Beim Batchimport können wir erkennen, dass solche Daten vor dem Einfügen in die Datenbank nicht als Duplikate eingestuft werden. Daher wird erst nach dem Import aller Daten eine Anweisung zum Löschen ausgeführt, um die Eindeutigkeit der Daten sicherzustellen.

Werfen wir einen Blick auf die ausführliche Einführung.

Tatsächlicher Kampf:

Die Tabellenstruktur ist in der folgenden Abbildung dargestellt:

Zeigt an: Marke

arbeiten:

Mit SQL-Anweisungen können Sie doppelte Daten abfragen:

SELECT * from brand WHERE Markenname IN (
select brandName from brand GROUP BY brandName HAVING COUNT(brandName)>1 #Die Bedingung ist, dass die Anzahl der doppelten Daten größer als 1 ist)

Verwenden Sie SQL, um redundante doppelte Daten zu löschen und die eindeutigen Daten mit der kleinsten ID zu behalten:

Notiz:

Falsches SQL: DELETE FROM brand WHERE brandName IN (select brandName from brand GROUP BY brandName HAVING COUNT(brandName)>1)
UND ID NICHT IN (wählen Sie MIN(ID) aus der Marke GROUP BY Markenname HAVING COUNT(Markenname)>1)

Tipp: Sie können die Zieltabelle „Marke“ für die Aktualisierung nicht in der FROM-Klausel angeben.

Der Grund ist: Die direkt gefundenen Daten können nicht als Bedingung zum Löschen von Daten verwendet werden. Wir sollten zuerst eine temporäre Tabelle für die gefundenen Daten erstellen und dann die temporäre Tabelle als Bedingung zum Löschen verwenden.

Richtiges SQL-Schreiben:
 LÖSCHEN AUS Marke, WO Markenname IN (AUSWÄHLEN Markenname AUS (AUSWÄHLEN Markenname AUS Marke GRUPPE NACH Markenname HAVING COUNT(Markenname)>1) e)
 UND ID NICHT IN (WÄHLEN SIE ID AUS (WÄHLEN SIE MIN(ID) ALS ID AUS Marke GRUPPE NACH Markenname MIT ANZAHL(Markenname)>1) t)

#Bei der Abfrage nach doppelten Daten werden nur die ersten paar Elemente angezeigt, sodass keine Abfrage erforderlich ist, ob es sich um den Mindestwert handelt

Die Ergebnisse sind wie folgt:


Zusammenfassen:

Viele Dinge müssen Schritt für Schritt selbst erkundet werden. Natürlich sind auch die Vorschläge im Internet sehr wertvolle Referenzen und Ressourcen. Egal, welche Entwicklung wir durchführen, wir müssen ihre Funktionsprinzipien verstehen, um sie besser beherrschen zu können.

Nun, das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Suchen Sie nach doppelten Datensätzen in der MySQL-Tabelle
  • MySQL SQL-Anweisung zum Suchen doppelter Daten basierend auf einem oder mehreren Feldern
  • Detaillierte Erklärung, wie man doppelte Daten in MySQL findet und löscht und nur ein Beispiel behält
  • So fragen Sie doppelte Daten in einer MySQL-Tabelle ab
  • Zusammenfassung der Methoden zum Löschen doppelter Daten in der MySQL-Datenbank
  • Sehr umfassender MySQL-Code zur Handhabung doppelter Daten
  • Zusammenfassung der Methoden zum Löschen doppelter Datensätze in der MySQL-Datenbank [Empfohlen]
  • Teilen Sie die Methode zum Ignorieren doppelter Daten beim Einfügen von Daten in MySQL
  • MySQL verwendet UNIQUE, um das Einfügen nicht doppelter Daten zu implementieren
  • Ein praktischer Bericht über die Prüfung und Bearbeitung doppelter MySQL-Datensätze vor Ort

<<:  Implementierung der React-Sternebewertungskomponente

>>:  Linux-Sudo-Sicherheitslücke kann zu unberechtigtem privilegiertem Zugriff führen

Artikel empfehlen

Beispiel für die Verwendung des href-Attributs und des onclick-Ereignisses eines Tags

Das „a“-Tag wird hauptsächlich verwendet, um Seit...

Analyse der Lösung für das Problem der gemeinsamen Nutzung von Nginx-Sitzungen

Dieser Artikel stellt hauptsächlich die Lösung fü...

MySQL-Variablendeklaration und Analyse gespeicherter Prozeduren

Deklarieren von Variablen Festlegen globaler Vari...

Der Unterschied zwischen ${param} und #{param} in MySQL

Der von ${param} übergebene Parameter wird als Te...

Verwendung des Array-Filters filter() in JS

Inhaltsverzeichnis 1. Einleitung 2. Einführung in...

Grundlegende Verwendung von Unterabfragen in MySQL

Inhaltsverzeichnis 1. Unterabfragedefinition 2. U...

Beispiel zum Festlegen der pseudostatischen WordPress-Eigenschaft in Nginx

Zitat aus Baidus Erklärung zu Pseudostatik: Pseud...