Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL entfernt Duplikate

王林
Freigeben: 2023-05-23 12:24:07
Original
25293 Leute haben es durchsucht

MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem, das große Datenmengen speichern und verwalten kann und eine Reihe flexibler Abfrage- und Betriebssprachen bereitstellt. Im Anwendungsprozess von MySQL stehen wir häufig vor der Situation, dass Daten aus der Datenbank abgerufen werden müssen, doppelte Daten jedoch die Abfrageergebnisse beeinträchtigen und daher entfernt werden müssen. In diesem Artikel werden die Methode und Anwendung von MySQL zum Entfernen doppelter Daten vorgestellt.

1. Verwenden Sie DISTINCT, um doppelte Daten zu entfernen.

In MySQL ist die Verwendung des Schlüsselworts DISTINCT der einfachste Weg, doppelte Daten zu entfernen. DISTINCT wird verwendet, um verschiedene Datenzeilen in einer Tabelle abzufragen und sie als einzelne Ergebnismenge zurückzugeben. Verwenden Sie das Schlüsselwort DISTINCT in der SELECT-Anweisung, um doppelte Daten zu entfernen. Angenommen, es gibt eine Tabelle mit dem Namen „Mitarbeiter“, die die Namen und Abteilungen der Mitarbeiter enthält. Um die Liste der Abteilungen abzufragen, können Sie den folgenden Befehl verwenden:

SELECT DISTINCT Department FROM Employees;

Dieser Befehl wird zurückgegeben alle eindeutigen „Abteilungs“-Werte.

2. Verwenden Sie GROUP BY, um doppelte Daten zu entfernen.

Eine andere Möglichkeit, doppelte Daten zu entfernen, ist die Verwendung der GROUP BY-Anweisung. Mit GROUP BY können Sie die Ergebnisse nach einem oder mehreren Feldern gruppieren. Bei der Verarbeitung der gruppierten Ergebnisse können Sie Aggregatfunktionen zur Berechnung verwenden. Verwenden Sie in der GROUP BY-Anweisung die GROUP BY-Klausel, um die Gruppierungsfelder anzugeben. Angenommen, es gibt eine Tabelle mit dem Namen „Bestellungen“, die den Produktnamen, das Bestelldatum und die Bestellmenge der Bestellung enthält. Um die Gesamtbestellmenge jedes Produktnamens abzufragen, können Sie den folgenden Befehl verwenden:

SELECT Produktname, SUM(quantity )
FROMorders
GROUP BY product_name;

Dieser Befehl gruppiert nach dem Feld „product_name“, summiert die Daten im Feld „quantity“ und gibt dann alle eindeutigen „product_name“-Werte und die entsprechende Summe zurück Bestellmenge.

3. Verwenden Sie die HAVING-Klausel, um doppelte Daten unter bestimmten Bedingungen zu entfernen.

Wenn Sie doppelte Daten entfernen müssen, wenn bestimmte Bedingungen erfüllt sind, können Sie die HAVING-Klausel verwenden. Das Schlüsselwort HAVING wird normalerweise mit der GROUP BY-Anweisung verwendet, was uns die Verwendung von Aggregatfunktionen beim Filtern gruppierter Ergebnisse ermöglicht. Angenommen, es gibt eine Tabelle mit dem Namen „Mitarbeiter“, die die Namen, Abteilungen und Gehälter von Mitarbeitern enthält. Um die Abteilungen von Mitarbeitern abzufragen, deren Gehalt mehr als 5000 beträgt, können Sie den folgenden Befehl verwenden:

SELECT Department, AVG (Gehalt)
VON Mitarbeitern
GRUPPE NACH Abteilung
MIT AVG (Gehalt) >

Dieser Befehl gruppiert nach dem Feld „Abteilung“, berechnet das durchschnittliche Gehalt jeder Abteilung und gibt nur den Abteilungsnamen und das durchschnittliche Gehalt zurück Wert, bei dem das Durchschnittsgehalt größer als 5000 ist.

4. Verwenden Sie Self-Join, um doppelte Daten zu entfernen. In einigen Fällen ist es notwendig, in derselben Tabelle zu vergleichen und zu filtern. In diesem Fall können Sie Self-Join verwenden, um dies zu erreichen. Selbstverknüpfung bezieht sich auf die Verknüpfung zweier Instanzen derselben Tabelle. Jede Instanz wird durch einen Alias ​​dargestellt und der Zugriff erfolgt durch Angabe des Alias. Angenommen, es gibt eine Tabelle mit dem Namen „Kunden“, die die Namen und Städte von Kunden enthält. Um die Namen von Kunden in derselben Stadt abzufragen, können Sie den folgenden Befehl verwenden:

SELECT DISTINCT a.customer_name, b.customer_name

VON Kunden a, Kunden b

WHERE a.city=b.city AND a.customer_name <> b.customer_name;

Dieser Befehl vergleicht zwei verschiedene Kundeninstanzen in derselben Stadt und entfernt doppelte Daten von Kundennamen. und gibt nur Kundennamen zurück, die sich in derselben Stadt befinden.

Kurz gesagt, in MySQL gibt es viele Möglichkeiten, doppelte Daten zu entfernen. Die Auswahl der am besten geeigneten Methode basierend auf spezifischen Anforderungen kann die Abfrageergebnisse genauer machen und die Effizienz der Datenverarbeitung verbessern.

Das obige ist der detaillierte Inhalt vonMySQL entfernt Duplikate. 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