Catégories :

Fonctions d’agrégation (Général) , Fonctions de la fenêtre (Général, Cadre de fenêtre)

STDDEV_POP

Retourne l’écart-type de la population standard (racine carrée de la variance) des valeurs non NULL. Si tous les enregistrements d’un groupe sont NULL, renvoie NULL.

Syntaxe

Fonction d’agrégation

STDDEV_POP( [ DISTINCT ] expression_1)

Fonction de fenêtre

STDDEV_POP( [ DISTINCT ] <expression_1> ) OVER (
                                        [ PARTITION BY <expression_2> ]
                                        [ ORDER BY <expression_3> [ ASC | DESC ] [ <window_frame> ] ]
                                        )

Pour plus d’informations sur la syntaxe window_frame , voir Syntaxe et utilisation du cadre de fenêtre .

Arguments

expression_1

Une expression qui est évaluée à une valeur numérique. Il s’agit de l’expression sur laquelle est calculé l’écart-type.

expression_2

C’est l’expression facultative à partir de laquelle effectuer la partition.

expression_3

C’est l’expression facultative à partir de laquelle effectuer le classement dans chaque partition.

Renvoie

Le type de données de la valeur renvoyée est DOUBLE.

Notes sur l’utilisation

  • Lorsqu’elle est transmise à une expression VARCHAR, cette fonction convertit implicitement l’entrée en valeurs à virgule flottante. Si la conversion ne peut pas être effectuée, une erreur est renvoyée.

  • Lorsque cette fonction est appelée en tant que fonction de fenêtre (c’est-à-dire avec une clause OVER) :

    • Si la clause OVER contient une sous-clause ORDER BY, alors :

      • Un cadre de fenêtre est nécessaire. Si aucun cadre de fenêtre n’est spécifié de façon explicite, ORDER BY implique un cadre de fenêtre cumulatif :

        RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

        Pour des informations sur les cadres de fenêtre, y compris la syntaxe et des exemples, voir Syntaxe et utilisation du cadre de fenêtre.

        Pour des informations sur les cadres de fenêtre implicites, voir Notes sur l’utilisation du cadre de fenêtre.

      • L’utilisation du mot-clé DISTINCT à l’intérieur de la fonction de fenêtre est interdite et entraîne une erreur de compilation.

Exemples

create or replace table aggr(k int, v decimal(10,2), v2 decimal(10, 2));
insert into aggr values(1, 10, null);
insert into aggr values(2, 10, 11), (2, 20, 22), (2, 25,null), (2, 30, 35);
select k, stddev_pop(v), stddev_pop(v2) from aggr group by k;

---+---------------+----------------+
 k | stddev_pop(v) | stddev_pop(v2) |
---+---------------+----------------+
 1 | 0             | [NULL]         |
 2 | 7.395099729   | 9.809292645    |
---+---------------+----------------+
Revenir au début