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
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
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
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!