Kategorien:

Datengenerierungsfunktionen

NORMAL

Gibt eine normalverteilte Gleitkommazahl mit angegebenem Wert für mean (Mittelwert) und stddev (Standardabweichung) zurück.

Diese Funktion bezieht sich auf die ähnliche RANDOM-Funktion, unterscheidet sich jedoch von dieser.

  • Wenn RAND sehr häufig aufgerufen wird, sind die Ergebnisse mehr oder weniger gleichmäßig über den Bereich der möglichen Werte verteilt. Die Anzahl der Ergebnisse mit Werten zwischen 1.000 und 2.000 ähnelt beispielsweise der Anzahl der Werte zwischen 2.000 und 3.000.

  • Wenn NORMAL sehr häufig aufgerufen wird, nähert sich die Verteilung der Ergebnisse wahrscheinlich einer „normal verteilten“ Kurve (oder „glockenförmigen Kurve“) an. Der Mittelpunkt der Kurve und die „Breite“ der Kurve werden von den Parametern mean (Mittelwert) und stddev (Standardabweichung) beeinflusst. Werte, die näher am angegebenen Mittelwert liegen, treten häufiger auf als Werte, die weit vom Mittelwert entfernt sind.

Syntax

NORMAL( <mean> , <stddev> , <gen> )

Argumente

mean (Mittelwert)

Dieser Mittelwert ist der zentrale Wert, um den sich die Ausgabewerte verteilen sollen.

stddev (Standardabweichung)

Dies gibt die Breite einer Standardabweichung an. Wenn Sie beispielsweise einen Mittelwert von 0,0 und eine Standardabweichung von 1,0 wählen und dann diese Funktion mehrmals aufrufen, liegen ungefähr 68,2 % der zurückgegebenen Werte zwischen -1,0 und +1,0 (d. h. innerhalb einer Standardabweichung des Mittelwerts).

Wenn Sie einen Mittelwert von 5,0 und eine Standardabweichung von 2 wählen, liegen ungefähr 68,2 % der Werte zwischen 3,0 und 7,0.

Generator

Gibt den Generatorausdruck für die Funktion an. Weitere Informationen dazu finden Sie unter Nutzungshinweise.

Nutzungshinweise

Wenn die Anzahl der Aufrufe steigt, tendieren die akkumulierten Ergebnisse dazu, näher an einer echten „Normalverteilung“ zu liegen, vorausgesetzt, die Funktion Generator generiert gleichmäßig verteilte Werte.

Beispiele

Dieses Beispiel zeigt eine typische Verwendung mit einem Mittelwert von 0 und einer Standardabweichung von 1:

SELECT normal(0, 1, random()) FROM table(generator(rowCount => 5));

+------------------------+
| NORMAL(0, 1, RANDOM()) |
|------------------------|
|           0.227384164  |
|           0.9945290748 |
|          -0.2045078571 |
|          -1.594607893  |
|          -0.8213296842 |
+------------------------+

Dieses Beispiel zeigt, dass mit einer Konstante als Parameter für Generator die Ausgabe ebenfalls eine Konstante ist:

SELECT normal(0, 1, 1234) FROM table(generator(rowCount => 5));

+--------------------+
| NORMAL(0, 1, 1234) |
|--------------------|
|      -0.6604156716 |
|      -0.6604156716 |
|      -0.6604156716 |
|      -0.6604156716 |
|      -0.6604156716 |
+--------------------+