Vorwort In diesem Artikel werden hauptsächlich die Methoden zum Abfragen und Löschen doppelter Datensätze in MySQL vorgestellt. Er wird zu Ihrer Information und zum Lernen weitergegeben. Werfen wir einen Blick auf die ausführliche Einführung: Alle Datensätze mit doppelten Titeln finden: Wählen Sie Titel, Anzahl(*) als Anzahl aus der Benutzertabelle, gruppieren Sie nach Titel mit Anzahl > 1; SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Titel = a.Titel) > 1) ORDER BY Titel DESC 1. Suchen Sie nach doppelten Datensätzen 1. Alle doppelten Datensätze finden SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Titel = a.Titel) > 1) ORDER BY Titel DESC 2. Filtern Sie doppelte Datensätze (es wird nur einer angezeigt) Wählen Sie * aus HZT, wobei ID in (Wählen Sie Max(ID) aus HZT nach Titel gruppieren) Hinweis: Hier wird der Datensatz mit der größten ID angezeigt 2. Löschen Sie doppelte Datensätze 1. Löschen Sie alle doppelten Datensätze ( mit Vorsicht verwenden ) Tabelle löschen, in der sich die Felder wiederholen (Wiederholte Felder aus Tabelle auswählen, nach wiederholten Feldern gruppieren, deren Anzahl(*)>1 ist) 2. Behalten Sie eines (das dürfte das sein, was die meisten Leute brauchen^_^) HZT löschen, bei denen die ID nicht vorhanden ist (Max. (ID) aus HZT-Gruppe nach Titel auswählen) Hinweis: Der Datensatz mit der größten ID wird hier beibehalten 3. Beispiele 1. Suchen Sie in der Tabelle nach redundanten doppelten Datensätzen. Doppelte Datensätze werden anhand eines einzigen Felds (peopleId) ermittelt. Wählen Sie * aus den Personen, bei denen die Personen-ID in (Wählen Sie die Personen-ID aus der Personengruppe nach Personen-ID mit der Anzahl (Personen-ID) > 1) ist. 2. Löschen Sie redundante doppelte Datensätze in der Tabelle. Doppelte Datensätze werden anhand eines einzelnen Felds (peopleId) ermittelt. Nur der Datensatz mit der kleinsten Zeilen-ID wird beibehalten. Löschen aus Personen, bei denen die Personen-ID enthalten ist (Wählen Sie die Personen-ID aus der Personengruppe nach Personen-ID mit der Anzahl (Personen-ID) > 1) und die Zeilen-ID nicht enthalten ist (Wählen Sie min (Zeilen-ID) aus der Personengruppe nach Personen-ID mit der Anzahl (Personen-ID) > 1). 3. Suchen Sie nach redundanten doppelten Datensätzen in der Tabelle (mehrere Felder). wähle * aus Lebenslauf a, wobei (a.peopleId,a.seq) in (wähle peopleId,seq aus Lebenslauf, gruppiere nach peopleId,seq mit count(*) > 1) 4. Löschen Sie redundante doppelte Datensätze (mehrere Felder) in der Tabelle und lassen Sie nur den Datensatz mit der kleinsten Zeilen-ID übrig lösche aus vitae a, wobei (a.peopleId,a.seq) in (wähle peopleId,seq aus vitae-Gruppe nach peopleId,seq mit count(*) > 1) und rowid nicht in (wähle min(rowid) aus vitae-Gruppe nach peopleId,seq mit count(*)>1) 5. Suchen Sie redundante doppelte Datensätze (mehrere Felder) in der Tabelle, ausgenommen den Datensatz mit der kleinsten Zeilen-ID wähle * aus Lebenslauf a, wobei (a.peopleId,a.seq) in (wähle peopleId,seq aus Lebenslauf, gruppiere nach peopleId,seq mit count(*) > 1) und rowid nicht in (wähle min(rowid) aus Lebenslauf, gruppiere nach peopleId,seq mit count(*)>1) 4. Ergänzung Es gibt mehr als zwei doppelte Datensätze. Einer ist ein vollständig doppelter Datensatz, d. h. ein Datensatz, bei dem alle Felder doppelt vorhanden sind. Der andere ist ein Datensatz, bei dem einige Schlüsselfelder doppelt vorhanden sind, z. B. ist das Feld „Name“ doppelt vorhanden, während andere Felder möglicherweise nicht doppelt vorhanden sind oder doppelt vorhanden sind und ignoriert werden können. 1. Für die erste Art der Wiederholung ist es einfacher zu lösen. Verwenden Sie Wählen Sie ein eindeutiges * aus Tabellenname aus. Sie können einen Ergebnissatz ohne doppelte Datensätze erhalten. Wenn in der Tabelle doppelte Datensätze gelöscht werden müssen (nur ein doppelter Datensatz beibehalten werden soll), können Sie ihn wie folgt löschen: Wählen Sie ein eindeutiges * in #Tmp aus Tabellenname aus. Tabelle Tabellenname löschen Wählen Sie * in Tabellenname aus #Tmp Tabelle löschen #Tmp Diese Duplizierung tritt aufgrund eines schlechten Tabellendesigns auf und kann durch das Hinzufügen einer eindeutigen Indexspalte behoben werden. 2. Bei dieser Art von Duplikatsproblem muss normalerweise der erste Datensatz der Duplikatsaufzeichnungen beibehalten werden. Die Vorgehensweise ist wie folgt Angenommen, es gibt wiederholte Felder mit den Namen „Name“ und „Adresse“ und Sie möchten für diese beiden Felder einen eindeutigen Ergebnissatz erhalten. Wählen Sie Identität (int, 1,1) als Auto-ID, * in #Tmp aus Tabellenname Wählen Sie min(autoID) als AutoID in #Tmp2 aus der #Tmp-Gruppe nach Name, AutoID wähle * aus #Tmp, wobei autoID in (wähle autoID aus #tmp2) ist Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. 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:
|
>>: So installieren Sie Git unter Linux
Dieser Artikel beschreibt anhand von Beispielen d...
Projektdokumentationsverzeichnis Div+CSS-Benennung...
Leerzeichenregeln in HTML In HTML werden mehrere ...
Die folgenden HTML-Tags umfassen grundsätzlich all...
Wenn das Feld, in dem der Name gespeichert ist, d...
Inhaltsverzeichnis Hintergrund Kompilieren Sie gl...
So führen Sie SVG-Symbole in Vue ein Methode 1 zu...
Vorwort Jeder sollte mit der Watch-API in vue2 ve...
In diesem Artikel wird der spezifische Implementi...
Dieser Artikel ist eine selbstgeschriebene Nachah...
Wenn Sie eine E-Mail in einem Shell-Skript erstel...
1: Durchsatz (Anfragen pro Sekunde) Eine quantita...
In der Praxis stoßen wir häufig auf ein Problem: ...
1. Yum-Installation yum installiere Subversion 2....
1. Zabbix-Backup [root@iZ2zeapnvuohe8p14289u6Z /]...