Heim > Datenbank > MySQL-Tutorial > Wie können doppelte Datensätze basierend auf mehreren Spalten in SQL effizient identifiziert werden?

Wie können doppelte Datensätze basierend auf mehreren Spalten in SQL effizient identifiziert werden?

Patricia Arquette
Freigeben: 2025-01-04 19:11:39
Original
824 Leute haben es durchsucht

How to Efficiently Identify Duplicate Records Based on Multiple Columns in SQL?

Identifizieren doppelter Datensätze über mehrere Spalten hinweg

Die Herausforderung besteht darin, die Funktionalität des bereitgestellten SQL-Codes zu replizieren, der auf die Identifizierung und den Abruf abzielt doppelte Datensätze basierend auf der Kombination von zwei Spalten, nämlich „Name“ und „Stadt“. Ziel ist es, Fälle auszuschließen, in denen nur eine Spalte, entweder „Name“ oder „Stadt“, übereinstimmt, und nur Datensätze zu berücksichtigen, bei denen beide Spalten identisch sind.

Um dieser Anforderung gerecht zu werden, nutzt die bereitgestellte Antwort eine Unterabfrage zur Zählung das Vorkommen der Kombinationen „Name“ und „Stadt“ in der Tabelle „stuff“. Diese Unterabfrage zählt die nach „Name“ und „Stadt“ gruppierten Zeilen und filtert die Kombinationen mit einer Anzahl größer als 1 heraus, was auf Duplikate hinweist.

select name, city, count(*) as qty
from [stuff]
group by name, city
having count(*) > 1
Nach dem Login kopieren

Die Hauptabfrage verknüpft dann die ursprüngliche „stuff“-Tabelle mit den Ergebnissen der Unterabfrage, die sowohl für „Name“ als auch für „Stadt“ übereinstimmen. Dieser Join-Vorgang identifiziert effektiv die doppelten Datensätze, die die angegebenen Kriterien erfüllen. Das Endergebnis eliminiert Fehlalarme, indem Fälle ausgeschlossen werden, in denen nur eine Spalte übereinstimmt.

select s.id, t.*
from [stuff] s
join (
...
    select name, city, count(*) as qty
    from [stuff]
    group by name, city
    having count(*) > 1
) t on s.name = t.name and s.city = t.city
Nach dem Login kopieren

Als Ergebnis ruft die Abfrage erfolgreich die gewünschte Ausgabe ab:

id      name  city   
904834  jim   London  
904835  jim   London  
90145   Fred  Paris   
90132   Fred  Paris
90133   Fred  Paris
Nach dem Login kopieren

Dieser Ansatz bietet eine effiziente und vielseitige Lösung zur Identifizierung doppelter Datensätze auf der Grundlage mehrerer Spalten, um die Genauigkeit und Vollständigkeit der Abfrageergebnisse sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie können doppelte Datensätze basierend auf mehreren Spalten in SQL effizient identifiziert werden?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage