Freigeben über


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 AdventureWorks;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory

Die Abfrage gibt 432 Zeilen zurück.

ms187831.note(de-de,SQL.90).gifWichtig:
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.

ms187831.note(de-de,SQL.90).gifHinweis:
Aus Kompatibilitätsgründen mit dem SQL-92-Standard und anderen Implementierungen von Microsoft SQL Server 2005 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

Andere Ressourcen

SELECT-Klausel (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005