- Catégories :
NORMAL¶
Renvoie un nombre à virgule flottante réparti normalement, avec un écart type spécifié mean
et stddev
(standard).
Cette fonction est liée à la fonction RANDOM similaire, mais différente de celle-ci.
Lorsque
RAND
est appelé un grand nombre de fois, les résultats sont répartis plus ou moins uniformément sur la plage de valeurs possibles. Par exemple, le nombre de résultats avec des valeurs comprises entre 1000 et 2000 est similaire au nombre de valeurs compris entre 2000 et 3000.Lorsque
NORMAL
est appelé un grand nombre de fois, la distribution des résultats est susceptible d’approcher une courbe « normale » (parfois appelée « courbe en forme de cloche »). Le centre de la courbe et sa « largeur » sont influencés par les paramètresmean
etstddev
. Les valeurs plus proches de la moyenne spécifiée ont plus de chances de se produire que les valeurs éloignées de la moyenne.
Syntaxe¶
NORMAL( <mean> , <stddev> , <gen> )
Arguments¶
mean
C’est la valeur sur laquelle vous souhaitez centrer les valeurs de sortie.
stddev
Ceci spécifie la largeur d’un écart-type. Par exemple, si vous choisissez une moyenne de 0,0 et un écart-type de 1,0, si vous appelez cette fonction plusieurs fois, environ 68,2 % des valeurs renvoyées seront comprises entre -1,0 et +1,0 (c.-à-d. à moins d’un écart-type de la moyenne).
De même, si vous choisissez une moyenne de 5,0 et un écart type de 2, environ 68,2 % des valeurs seront comprises entre 3,0 et 7,0.
gen
Spécifie l’expression du générateur pour la fonction. Pour plus d’informations, voir Notes sur l’utilisation.
Notes sur l’utilisation¶
À mesure que le nombre d’appels augmente, les résultats cumulés tendent à se rapprocher d’une vraie distribution « normale », en supposant que la fonction gen
génère des valeurs uniformément réparties.
Exemples¶
Cela montre une utilisation typique avec une moyenne de 0 et un écart type de 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 | +------------------------+
Cela montre que si le paramètre gen
est une constante, la sortie est une constante :
SELECT normal(0, 1, 1234) FROM table(generator(rowCount => 5)); +--------------------+ | NORMAL(0, 1, 1234) | |--------------------| | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | +--------------------+