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

Implementierungscode zur Verwendung der MongoDB-Datenbank in Docker

Holen Sie sich das Mongo-Image sudo docker pull m...

js implementiert zufälligen Namensaufruf

In diesem Artikel wird der spezifische Code von j...

Verwendung und Analyse des Mysql Explain-Befehls

Mit dem Befehl „mysql explain“ wird gezeigt, wie ...

20 JavaScript-Tipps zur Verbesserung der Entwicklungseffizienz

Inhaltsverzeichnis 1. Arrays deklarieren und init...

Detaillierte Erklärung der Überwachungseigenschaften von Vue

Inhaltsverzeichnis Vue-Monitoreigenschaften Was i...

Tutorial zur Master-Slave-Konfiguration der MySQL-Datenbank unter Windows

Der detaillierte Prozess zum Konfigurieren des My...

Implementierung von JavaScript zum Herunterladen und Hochladen verknüpfter Bilder

Da wir Bilder hochladen möchten, müssen wir zunäc...

Tipps zum Listenaufbau für Website-Wartungsseiten

Und oft ist es für Wartungsarbeiten erforderlich, ...

So wählen Sie zwischen MySQL CHAR und VARCHAR

Inhaltsverzeichnis VARCHAR- und CHAR-Typen Abschl...

Implementieren einer verteilten Sperre mit MySQL

einführen In einem verteilten System ist die vert...

MySQL-Protokolleinstellungen und Anzeigemethoden

MySQL verfügt über die folgenden Protokolle: Fehl...