Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

SQL DISTINCT: Eine Abfrage zum Sortieren und Entfernen von Duplikaten

-
3
 Minuten Lesezeit
-
sql distinct

Der SELECT-Befehl ist zwar einer der am häufigsten verwendeten Befehle, um Daten aus einer Tabelle zu lesen, aber er hat einige Schwächen, wenn er allein verwendet wird. Aus diesem Grund werden weitere Befehle mit ihm kombiniert. Diese Kombinationen ermöglichen es, die Ergebnisse zu verfeinern. Dies gilt insbesondere für den Befehl SQL DISTINCT, der doppelte Einträge in einer MySQL-Datenbank entfernt.

Was ist SQL DISTINCT?

Die SQL-Abfrage DISTINCT hilft, doppelte Einträge zu begrenzen. Denn wenn du den Anweisungsbefehl SELECT verwendest, kannst du eine oder mehrere Spalten in der Tabelle auswählen. Innerhalb dieser Spalten kann es aber zu doppelten Zeilen kommen. Um dies zu vermeiden, musst du DISTINCT zur SELECT-Abfrage hinzufügen. Dadurch werden alle Redundanzen beseitigt.

Konkret sieht dieser Befehl wie folgt aus:

  • SELECT DISTINCT name_der_spalte
  • FROM name_der_tabelle
  • Du kannst diesen Befehl auf eine einzelne Spalte oder auf eine Reihe von verbundenen Spalten anwenden.

Gut zu wissen: Wenn du ein Oracle-Datenbankverwaltungssystem verwendest, solltest du nicht den SQL-Befehl DISTINCT, sondern den Befehl UNIQUE verwenden.

3 Beispiele für die Verwendung von SQL DISTINCT

Um dir zu helfen, besser zu verstehen, wie du die SQL-Abfrage DISTINCT verwenden kannst, findest du hier drei konkrete Anwendungsbeispiele.

Die SELECT DISTINCT-Abfrage für eine einzelne Spalte

Dies ist die grundlegende Verwendung der SQL-Abfrage DISTINCT.

In unserem Beispiel hast du eine Tabelle mit allen deinen Kunden, von denen einige zur selben Familie gehören (identischer Nachname).

Hier ist deine Tabelle:

ID Vorname Nachname
1 Pierre Dupont
2 Jeanne Martin
3 Henri Durand
4 Bertrand Petit
5 Martine Dupont

Wenn du nur die eindeutigen Familien anzeigen möchtest, ist hier die zu verwendende Abfrage: SELECT DISTINCT name FROM customer.

Und hier ist das Ergebnis :

Nachname
Dupont
Martin
Durand
Petit

Hier wird der Name Dupont nur einmal angezeigt (gegenüber zweimal in der ersten Tabelle).

Die SELECT DISTINCT-Abfrage für mehrere Spalten

Wie bereits erwähnt, kann der Befehl DISTINCT auch für mehrere Spalten verwendet werden.

Betrachten wir noch einmal ein Beispiel für eine ähnliche Kundentabelle :

ID Vorname Nachname
1 Martine Dupont
2 Jeanne Martin
3 Henry Durand
4 Bertrand Petit
5 Martine Dupont
6 Antoine Martin
7 Fabienne Bernard
8 Christelle Robert
9 Henri Durand

Wenn du nur die eindeutigen Familien anzeigen möchtest, ist dies die Abfrage, die du verwenden musst: SELECT DISTINCT vorname nachname FROM kunde.

Und hier ist das Ergebnis:

Vorname Nachname
Martine Dupon
Jeanne Martin
Henri Durand
Bertrand Petit
Antoine Martin
Fabienne Bernard
Christelle Robert

In diesem Fall wurden die Zeilen Martine Dupont und Henry Durand eliminiert.

Die Anzahl der einzigartigen Werte

Wenn du wissen willst, wie viele eindeutige Werte dein Array hat, führe einfach die folgende Manipulation aus:

SELECT COUNT(DISTINCT name) AS Zahl FROM Kunde.

Am häufigsten wird die SQL-Abfrage DISTINCT zusammen mit dem Befehl COUNT verwendet, um Werte zu zählen. Es ist aber möglich, je nach deinen Bedürfnissen weitere Aggregationen hinzuzufügen. Dadurch kannst du verschiedene mathematische oder statistische Operationen durchführen, ohne dabei Duplikate zu berücksichtigen.

 

💡Auch interessant:

Apache Cassandra noSQL BDD
SQL Joins
SQL Count Tutorial
SQL Datei öffnen
SQL vs. NOSQL
noSQL nicht relationale Datenbanken

Alternativen zu SQL DISTINCT

Um doppelte Einträge zu entfernen, kannst du auch andere Befehle verwenden. Insbesondere GROUP BY / ORDER BY.

In diesem Zusammenhang lautet die Abfrage wie folgt:

SELECT name, Prenom FROM `Client` GROUP BY name, Prenom ORDER BY name, Prenom.

Das Ergebnis ist genau das gleiche wie bei der Abfrage: SELECT DISTINCT vorname nachname FROM kunde.

SQL mit DataScientest meistern

Die Programmiersprache SQL ist voll von Abfragen, die für die Manipulation von Daten unerlässlich sind. Wenn du deine Kenntnisse in diesem Bereich vertiefen möchtest, kannst du an unseren Schulungen bei Datascientest teilnehmen. Diese Kurse sind berufsorientiert und ermöglichen es dir, am Ende des Kurses zu 100 % einsatzfähig zu sein.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.