Entfernen von Duplikaten mit DISTINCT

Das DISTINCT-Schlüsselwort entfernt mehrfach auftretende Zeilen aus den Ergebnissen einer SELECT-Anweisung. Falls DISTINCT nicht angegeben wird, werden alle Zeilen (einschließlich doppelter Zeilen) zurückgegeben. Wenn Sie z. B. alle Produkt-IDs in ProductInventory ohne DISTINCT auswählen, werden 1.069 Zeilen zurückgegeben.

Mit DISTINCT können Sie die Duplikate entfernen und jede Produkt-ID nur einmal anzeigen:

USE AdventureWorks2008R2;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory ;

Die Abfrage gibt 432 Zeilen zurück.

Wichtiger HinweisWichtig

Die Ausgabe bei Anweisungen, die DISTINCT enthalten, hängt von der Sortierung der Spalte oder des Ausdrucks ab, auf die DISTINCT angewendet wird.

Mit dem DISTINCT-Schlüsselwort werden auch mehrfach auftretende NULL-Werte als Duplikate interpretiert. Bei einer SELECT-Anweisung mit DISTINCT wird nur ein einziger NULL-Wert im Ergebnis zurückgegeben, unabhängig davon, wie viele NULL-Werte gefunden werden.

HinweisHinweis

Aus Kompatibilitätsgründen mit dem ISO-Standard und anderen Implementierungen von SQL Server können mit dem ALL-Schlüsselwort explizit alle Zeilen angefordert werden. Es ist jedoch nicht erforderlich, ALL anzugeben, da dies die Standardeinstellung ist.

Siehe auch

Verweis