Anfang des Inhaltsbereichs

DISTINCT-Funktion (distinct_function) Dokument im Navigationsbaum lokalisieren

Die DISTINCT-Funktion (distinct_function) ist eine Set-Funktion, die doppelt vorkommende Werte und alle NULL-Werte entfernt.

Syntax

<distinct_function>::= <set_function_name> ( DISTINCT <expression> )

set_function_name, expression

Erläuterung

Das Argument einer DISTINCT-Funktion ist eine Menge von Werten, die wie folgt gebildet wird:

1.       Eine Ergebnistabelle oder eine Gruppe (die Ergebnistabelle kann durch eine GROUP-Bedingung gruppiert werden) wird gebildet.

2.       Auf jede Zeile dieser Ergebnistabelle oder Gruppe wird der Ausdruck (expression) angewandt.
Der Ausdruck darf keine Set-Funktion erhalten.

3.       Alle NULL-Werte und doppelt vorkommenden Werte werden entfernt (DISTINCT). Spezial-NULL-Werte werden nicht entfernt, zwei Spezial-NULL-Werte gelten als gleich.

Die DISTINCT-Funktion wird unter Berücksichtigung des entsprechenden Set-Funktionsnamens (set_function_name) für diese Menge von Werten durchgeführt.

 

 

Ergebnis der DISTINCT-Funktion

Menge von Werten ist leer und die DISTINCT-Funktion wird auf die gesamte Ergebnistabelle angewandt

Die Set-Funktionen AVG, MAX, MIN, STDDEV, SUM, VARIANCE liefern als Ergebnis den NULL-Wert.

Die Set-Funktion COUNT liefert den Wert 0.

Es gibt keine Gruppe, auf die die DISTINCT-Funktion angewandt werden kann.

Im Ergebnis erhält man eine leere Tabelle.

Die Menge von Werten enthält mindestens einen Spezial-NULL-Wert

Spezial-NULL-Wert

Beispiel

Beispieltabelle customer

An wievielen Orten wohnen die Kunden?

SELECT COUNT(DISTINCT city) number_cities FROM customer

number_cities

4

 

Ende des Inhaltsbereichs