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

Analyse des Benchmarking-Prozesses von Sysbench für MySQL

Vorwort 1. Benchmarking ist eine Art Leistungstes...

Detaillierte Erklärung zur Verwendung der Element-el-button-Button-Komponente

1. Hintergrund Schaltflächen werden sehr häufig v...

Vollständiger Code zur Implementierung der Vue-Backtop-Komponente

Wirkung: Code: <Vorlage> <div Klasse=&qu...

MySQL Serie 3 Grundlagen

Inhaltsverzeichnis Tutorial-Reihe 1. Einführung i...

js, um den Effekt eines Lichtschalters zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

So vergessen Sie das Root-Passwort in Mysql8.0.13 unter Windows 10

1. Stoppen Sie zuerst den MySQL-Dienst Öffnen Sie...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.17

Der Blogger sagte : Ich habe eine Reihe von Blogb...

Erste Schritte mit MySQL Sharding

Vorwort Relationale Datenbanken werden eher zu Sy...

So fahren Sie eine MySQL-Instanz sicher herunter

In diesem Artikel wird der Vorgang zum Herunterfa...

Dieser Artikel zeigt Ihnen das Prinzip der MySQL Master-Slave-Synchronisation

Inhaltsverzeichnis Kurze Analyse des MySQL Master...

So verwenden Sie SessionStorage und LocalStorage in Javascript

Inhaltsverzeichnis Vorwort Einführung in SessionS...