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.
Wichtig |
---|
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.
Hinweis |
---|
Aus Kompatibilitätsgründen mit dem ISO-Standard und anderen Implementierungen von MicrosoftSQL 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. |