SELECT DISTINCT
Grundlagen
Was macht SELECT DISTINCT?
Mit SELECT DISTINCT bekommst du nur eindeutige (verschiedene) Werte zurück. Kommt ein Wert mehrfach vor, wird er trotzdem nur einmal ausgegeben. Das ist nützlich, wenn du z. B. wissen willst, in welchen Ländern du überhaupt Kunden hast.
Syntax
SELECT DISTINCT spalte1, spalte2 FROM tabelle;
Beispiel ohne DISTINCT
SELECT Land FROM Kunden;
| Land |
|---|
| DE |
| DE |
| FR |
| DE |
Beispiel mit DISTINCT
SELECT DISTINCT Land FROM Kunden;
| Land |
|---|
| DE |
| FR |
Mehrere Spalten
Bei mehreren Spalten gilt eine Zeile als doppelt, wenn die Kombination aller angegebenen Spalten gleich ist:
SELECT DISTINCT Land, Stadt FROM Kunden;
Hier ist die Zeile DE / Berlin nur dann doppelt, wenn Land und Stadt identisch sind.
Eindeutige Werte zählen
Möchtest du nur wissen, wie viele verschiedene Länder es gibt, kombinierst du DISTINCT mit COUNT:
SELECT COUNT(DISTINCT Land) FROM Kunden; -- Ergebnis: 2
Stolperfalle
DISTINCT bezieht sich immer auf alle Spalten der Auswahl, nicht nur auf die erste. Außerdem zählen NULL-Werte als ein einziger eindeutiger Wert. Beachte: COUNT(DISTINCT ...) wird in MS Access nicht unterstützt.