Anfang des InhaltsbereichsDISTINCT-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 kunde

An wievielen Orten wohnen die Kunden?

SELECT COUNT(DISTINCT ort) anzahl_orte FROM kunde

ANZAHL_ORTE

6

Ende des Inhaltsbereichs