Heim > Datenbank > MySQL-Tutorial > Wie finde ich doppelte Zeilen basierend auf mehreren Feldern in einer SQL-Tabelle?

Wie finde ich doppelte Zeilen basierend auf mehreren Feldern in einer SQL-Tabelle?

DDD
Freigeben: 2025-01-23 01:57:11
Original
592 Leute haben es durchsucht

How to Find Duplicate Rows Based on Multiple Fields in a SQL Table?

Auffinden doppelter Datensätze mithilfe mehrerer Felder in SQL

Das Identifizieren doppelter Einträge basierend auf einer einzelnen Spalte ist eine einfache SQL-Aufgabe. Um beispielsweise doppelte E-Mails in einer users-Tabelle zu finden:

<code class="language-sql">SELECT email, COUNT(email)
FROM users
GROUP BY email
HAVING COUNT(email) > 1;</code>
Nach dem Login kopieren

Die Komplexität steigt, wenn Duplikate in mehreren Feldern wie E-Mail und Name identifiziert werden.

Um Zeilen mit identischen E-Mail- und Namenskombinationen zu ermitteln, verwenden Sie diese Abfrage:

<code class="language-sql">SELECT name, email, COUNT(*)
FROM users
GROUP BY name, email
HAVING COUNT(*) > 1;</code>
Nach dem Login kopieren

Dies gruppiert die Daten sowohl nach name als auch nach email und filtert dann, um nur die Gruppen mit mehr als einem Eintrag anzuzeigen, wodurch die Duplikate sichtbar werden.

Wie es funktioniert:

Die HAVING-Klausel ist entscheidend; Es filtert die gruppierten Ergebnisse und stellt sicher, dass nur die Kombinationen von name und email zurückgegeben werden, die mehr als einmal vorkommen. Eine typische Ausgabe würde wie folgt aussehen:

<code>| name | email       | COUNT(*) |
|------|-------------|----------|
| Tom   | john@example.com | 2        |
| Tom   | tom@example.com  | 2        |</code>
Nach dem Login kopieren

Wichtige Überlegung:

Datenbanksysteme unterscheiden sich in der Handhabung der Gruppierung nicht aggregierter Spalten. Einige erfordern möglicherweise eine explizite Aufnahme in die GROUP BY-Klausel. Wenn Ihr Datenbanksystem diese implizite Gruppierung nicht unterstützt, müssen Sie die Abfrage entsprechend anpassen.

Das obige ist der detaillierte Inhalt vonWie finde ich doppelte Zeilen basierend auf mehreren Feldern in einer SQL-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage