Heim >Datenbank >MySQL-Tutorial >Wie kann ich Zeilen mit nicht eindeutigen Spaltenwerten in einer Datenbank effizient auswählen?

Wie kann ich Zeilen mit nicht eindeutigen Spaltenwerten in einer Datenbank effizient auswählen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-22 14:53:11455Durchsuche

How Can I Efficiently Select Rows with Non-Unique Column Values in a Database?

Auswählen von Zeilen mit nicht eindeutigen Spaltenwerten

Beim Arbeiten mit Daten kann es erforderlich sein, Zeilen abzurufen, in denen bestimmte Spaltenwerte nicht vorhanden sind unterscheidbar. In einer Tabelle mit E-Mail-Adressen kann es beispielsweise nützlich sein, doppelte E-Mail-Adressen in verschiedenen Kundendatensätzen zu identifizieren.

Die bereitgestellte Abfrage verwendet die Klauseln GROUP BY und HAVING, um Zeilen nach E-Mail-Adresse zu gruppieren und die vorkommenden zu identifizieren mehr als einmal. Es wurde jedoch berichtet, dass es Leistungsprobleme gibt.

Ein alternativer Ansatz besteht darin, eine IN-Klausel in Kombination mit einer Unterabfrage zu verwenden. Diese Methode wählt E-Mail-Adressen aus der Kundentabelle aus, die mehr als einmal vorkommen:

SELECT [EmailAddress], [CustomerName] 
FROM [Customers] 
WHERE [EmailAddress] IN
  (SELECT [EmailAddress] 
   FROM [Customers] 
   GROUP BY [EmailAddress] 
   HAVING COUNT(*) > 1)

Diese Abfrageleistung ist im Allgemeinen schneller als die Verwendung der GROUP BY- und HAVING-Klauseln und sollte effektiv Zeilen mit doppelten E-Mail-Adressen zurückgeben.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen mit nicht eindeutigen Spaltenwerten in einer Datenbank effizient auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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