FirebirdSQL logo

Les fonctions agrégées effectuent un calcul sur un ensemble de valeurs et renvoient une seule valeur.

Les fonctions d’agrégation, à l’exception de COUNT, ne prennent pas en compte les valeurs NULL. Les fonctions agrégées sont souvent utilisées avec la clause GROUP BY.

Les fonctions agrégées ne peuvent être utilisées comme expressions que dans les cas suivants :

  • SELECT liste de sélection des instructions (requête imbriquée ou externe) ;

  • Avoir une clause.

Syntaxe des fonctions d’agrégation
<aggregate_function> ::=
  aggragate_function ([ALL | DISTINCT] <expr>)
  [FILTER (WHERE <condition>)]

Les fonctions agrégées peuvent également être utilisées comme fonctions de fenêtre avec la clause OVER (). Voir Window (Analytique) Functions pour plus de détails.

Fonction FILTER

La clause FILTER étend les fonctions d’agrégation avec la clause optionnelle WHERE. Si la clause FILTER est utilisée, le résultat de l’agrégat est construit uniquement à partir des chaînes qui satisfont également la condition dans la clause optionnelle WHERE.

En général, une clause de filtrage peut être implémentée en utilisant une clause CASE dans une fonction d’agrégation : la condition de filtrage doit être placée dans la clause WHEN, la valeur à agréger dans la clause THEN. Étant donné que les fonctions d’agrégation ignorent généralement les valeurs NULL, la clause implicite ELSE NULL est suffisante pour ignorer les chaînes de caractères qui ne correspondent pas aux conditions du filtre. Les deux expressions suivantes sont équivalentes :

SUM(<expression>) FILTER(WHERE <condition>)

et

SUM(CASE WHEN <condition> THEN <expression> END)

Pour COUNT(*), cet exemple est différent car l’expression * ne peut pas être utilisée dans une clause THEN. A la place, toute valeur constante non égale à NULL est normalement utilisée.

COUNT(*) FILTER(WHERE <condition>)

et

SUM(CASE WHEN <condition> THEN 1 END)
Exemples FILTER
Example 1. Utilisation de la clause FILTER
SELECT
  invoice_year,
  SUM(revenue) FILTER (WHERE invoice_month = 1) AS jan_revenue,
  SUM(revenue) FILTER (WHERE invoice_month= 2) AS feb_revenue,
  ...
  SUM(revenue) FILTER (WHERE invoice_month = 12) AS dec_revenue
FROM (
  SELECT
    EXTRACT(YEAR FROM invoices.invoice_date) AS invoice_year,
    EXTRACT(MONTH FROM invoices.invoice_date) AS invoice_month,
    invoices.revenue AS revenue
  FROM invoices
)
GROUP BY invoice_year

Principales fonctions de l’agrégat

AVG()

Disponible en

DSQL

Syntaxe
AVG([ALL | DISTINCT] <expr>)
Table 1. paramètres de fonction AVG
Paramètre Description

expr

Expression : peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

Type de résultat de retour

DOUBLE PRECISION, DECFLOAT ou un entier mis à l’échelle (INTEGER, BIGINT ou INT128) selon le type d’argument de la fonction expr.

La fonction AVG renvoie la valeur moyenne du groupe. Les valeurs NULL sont ignorées.

  • Le paramètre ALL (par défaut) applique la fonction d’agrégation à toutes les valeurs.

  • Le paramètre DISTINCT indique que la fonction AVG ne sera exécutée que pour une seule instance de chaque valeur unique, quel que soit le nombre de fois où cette valeur apparaît.

  • Dans le cas où la sélection d’enregistrements est vide ou ne contient que des valeurs NULL, le résultat contiendra NULL.

Exemples AVG

Example 1. En utilisant la fonction AVG
SELECT
  dept_no,
  AVG(salary)
FROM employee
GROUP BY dept_no
Voir aussi :

SELECT.

COUNT()

Disponible en

DSQL

Syntaxe
COUNT([ALL | DISTINCT] <expr> | *)
Table 1. paramètres de fonction COUNT
Paramètre Description

expr

Expression : peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

BIGINT

La fonction COUNT renvoie le nombre de valeurs dans le groupe qui ne sont pas NULL.

  • La valeur par défaut est ALL : la fonction compte simplement toutes les valeurs de l’ensemble qui ne sont pas NULL.

  • Si DISTINCT est spécifié, les doublons sont exclus de l’ensemble compté.

  • Si COUNT (*) est spécifié à la place de expr, toutes les entrées seront comptées.

    • ne peut pas être utilisé avec le mot-clé DISTINCT.

    • Les entrées dupliquées ne sont pas exclues

    • les enregistrements contenant NULL sont comptés

  • Pour un échantillon de données vide ou si l’échantillon ne contient que des valeurs contenant NULL, la fonction retournera 0.

Exemples COUNT

Example 1. En utilisant la fonction COUNT
SELECT
  dept_no,
  COUNT(*) AS cnt,
  COUNT(DISTINCT name) AS cnt_name
FROM employee
GROUP BY dept_no
Voir aussi :

SELECT.

LIST()

Disponible en

DSQL

Syntaxe
LIST([ALL | DISTINCT] <expr> [, separator])
Table 1. paramètres de fonction LIST
Paramètre Description

expr

Expression : peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données chaîne ou BLOB. Les champs de type date/heure et numérique sont convertis en chaîne. Les fonctions agrégées ne sont pas autorisées comme expression.

separator

Separator : Une expression de type chaîne de caractères. Le séparateur par défaut est une virgule.

type de résultat de retour

BLOB

La fonction LIST renvoie une chaîne de caractères composée des valeurs des arguments autres que NULL dans le groupe, séparés par une virgule ou un délimiteur défini par l’utilisateur. S’il n’y a pas d’autres valeurs que NULL (y compris le cas où le groupe est vide), NULL est retourné.

  • ALL (par défaut) permet de traiter toutes les valeurs autres que NULL. Si le mot-clé DISTINCT est spécifié, les doublons sont supprimés sauf si expr est BLOB.

  • L’argument facultatif separator peut être une expression de type chaîne. Cela vous permet de spécifier, par exemple, ascii_char (13) comme séparateur.

  • Les arguments expr et separator prennent en charge les BLOB de toute taille et de tout jeu de caractères.

  • Les arguments numériques et de date/heure sont implicitement convertis en chaînes de caractères avant la fusion.

  • Le résultat de la fonction est un BLOB textuel, sauf si expr est un BLOB d’un sous-type différent.

  • L’ordre des valeurs dans la liste n’est pas défini — l’ordre dans lequel les lignes sont jointes est déterminé par l’ordre de lecture de l’ensemble de données original. Pour les tableaux, cet ordre n’est normalement pas défini. Si l’ordre est important, les données brutes peuvent être pré-triées à l’aide d’un dérivateur de tableau ou d’un outil similaire.

Exemples LIST

Example 1. En utilisant la fonction LIST

Obtention d’une liste, ordre indéfini.

SELECT LIST (display_name, '; ')
FROM GR_WORK;
Example 2. En utilisant la fonction LIST ordonné

Obtenez une liste par ordre alphabétique.

SELECT LIST (display_name, '; ')
FROM (SELECT display_name
      FROM GR_WORK
      ORDER BY display_name);
Voir aussi :

SELECT.

MAX()

Disponible en

DSQL

Syntaxe
MAX([ALL | DISTINCT] <expr>)
Table 1. paramètres de fonction MAX
Paramètre Description

expr

Expression : peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

est le même que l’argument de la fonction expr.

La fonction MAX renvoie l’élément d’échantillonnage maximum qui n’est pas égal à NULL.

  • Si le groupe est vide ou ne contient que des NULL, le résultat sera NULL.

  • Si l’argument d’entrée est une chaîne, la fonction renverra la dernière valeur du tri en utilisant le COLLATE approprié.

  • Cette fonction prend entièrement en charge les `BLOBs' textuels de toute taille et de tout jeu de caractères.

Note

Le paramètre DISTINCT n’a aucune signification lorsqu’il est utilisé avec la fonction MAX et n’est disponible que pour des raisons de compatibilité avec la norme.

Exemples MAX

Example 1. En utilisant la fonction MAX
SELECT
  dept_no,
  MAX(salary)
FROM employee
GROUP BY dept_no

MIN()

Disponible en

DSQL

Syntaxe
MIN([ALL | DISTINCT] <expr>)
Table 1. paramètres de fonction MIN
Paramètre Description

expr

Expression : peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

est le même que l’argument de la fonction expr.

La fonction MIN renvoie l’élément d’échantillonnage minimum qui n’est pas égal à NULL.

  • Si le groupe est vide ou ne contient que des NULL, le résultat sera NULL. Si l’argument d’entrée est une chaîne de caractères, la fonction retournera la valeur qui est la première dans le tri en utilisant le COLLATE approprié.

Note

Le paramètre DISTINCT n’a aucune signification lorsqu’il est utilisé avec la fonction MIN et n’est disponible que pour des raisons de compatibilité avec la norme.

Exemples MIN

Example 1. En utilisant la fonction MIN
SELECT
  dept_no,
  MIN(salary)
FROM employee
GROUP BY dept_no

SUM()

Disponible en

DSQL

Syntaxe
SUM([ALL | DISTINCT] <expr>)
Table 1. paramètres de fonction SUM
Paramètre Description

expr

Expression : peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

DOUBLE PRECISION, DECFLOAT ou un entier scalable (INTEGER, BIGINT ou INT128) selon le type d’argument de la fonction expr. Normalement, si possible, on choisit un type dont la capacité est supérieure à celle du type d’expression expr.

La fonction SUM renvoie la somme des éléments de l’échantillon qui ne sont pas égaux à NULL.

  • ALL est l’option par défaut — toutes les valeurs de l’échantillon qui ne contiennent pas NULL sont traitées. Si DISTINCT est spécifié, les doublons sont retirés de l’échantillon et la somme est ensuite effectuée.

  • Pour un échantillon vide, ou un échantillon ne contenant que NULL, la fonction retournera NULL.

Exemples SUM

Example 1. En utilisant la fonction SUM
SELECT
  dept_no,
  SUM(salary)
FROM employee
GROUP BY dept_no
Voir aussi :

SELECT.

Fonctions statistiques

Les fonctions statistiques sont des fonctions d’agrégation. Ces fonctions ne considèrent pas les valeurs NULL. Les paramètres ALL et DISTINCT ne s’appliquent pas à l’argument d’une fonction statistique.

Les fonctions statistiques sont souvent utilisées en conjonction avec la suggestion GROUP BY.

CORR()

Disponible en

DSQL

Syntaxe
CORR(<expr1>, <expr2>)
Table 1. paramètres de fonction CORR
Paramètre Description

expr1, expr2

Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression.

type de résultat de retour

DOUBLE PRECISION

La fonction CORR renvoie le coefficient de corrélation pour une paire d’expressions renvoyant des valeurs numériques.

La fonction CORR(<expr1>, <expr2>) est équivalente à

COVAR_POP(<expr1>, <expr2>) / (STDDEV_POP(<expr2>) * STDDEV_POP(<expr1>))

En termes statistiques, la corrélation est le degré de relation entre les variables. La corrélation entre les variables signifie que la valeur d’une variable peut être prédite dans une certaine mesure par la valeur de l’autre. Le coefficient de corrélation représente le degré de corrélation sous la forme d’un nombre compris entre -1 (corrélation inverse élevée) et 1 (corrélation élevée). Une valeur de 0 correspond à une absence de corrélation.

Si l’échantillon d’enregistrement est vide ou ne contient que des valeurs NULL, le résultat contiendra NULL.

Exemples CORR

Example 1. En utilisant la fonction CORR
SELECT
    CORR(alength, aheight) AS c_corr
FROM measure

COVAR_POP()

Disponible en

DSQL

Syntaxe
COVAR_POP(<expr1>, <expr2>)
Table 1. paramètres de fonction COVAR_POP
Paramètre Description

expr1, expr2

Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression.

type de résultat de retour

DOUBLE PRECISION

La fonction COVAR_POP retourne la covariance de population de paires d’expressions avec des valeurs numériques.

La fonction COVAR_POP(<expr1>, <expr2>) est équivalente à

(SUM(<expr1> * <expr2>) - SUM(<expr1>) * SUM(<expr2>) / COUNT(*))
  / COUNT(*)

Si la sélection d’enregistrements est vide ou ne contient que des valeurs NULL, le résultat contiendra NULL.

Exemples COVAR_POP

Example 1. En utilisant la fonction COVAR_POP
SELECT
    COVAR_POP(alength, aheight) AS c_corr
FROM measure

COVAR_SAMP()

Disponible en

DSQL

Syntaxe
COVAR_SAMP(<expr1>, <expr2>)
Table 1. paramètres de fonction COVAR_SAMP
Paramètre Description

expr1, expr2

Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression.

type de résultat de retour

DOUBLE PRECISION

La fonction COVAR_SAMP retourne la covariance d’échantillon d’une paire d’expressions avec des valeurs numériques.

La fonction COVAR_SAMP(<expr1>, <expr2>) est équivalente à

(SUM(<expr1> * <expr2>) - SUM(<expr1>) * SUM(<expr2>) / COUNT(*))
  / (COUNT(*) - 1)

Si la sélection d’enregistrements est vide, ne contient qu’un seul enregistrement ou ne contient que des valeurs NULL, le résultat contiendra NULL.

Exemples COVAR_SAMP

Example 1. En utilisant la fonction COVAR_SAMP
SELECT
    COVAR_SAMP(alength, aheight) AS c_corr
FROM measure

STDDEV_POP()

Disponible en

DSQL

Syntaxe
STDDEV_POP(<expr>)
Table 1. paramètres de fonction STDDEV_POP
Paramètre Description

expr

Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression.

type de résultat de retour

DOUBLE PRECISION ou NUMERIC selon le type expr.

La fonction STDDEV_POP retourne l’écart-type du groupe. Les valeurs NULL sont ignorées.

La fonction STDDEV_POP(<expr>) est équivalente à

SQRT(VAR_POP(<expr>))

Si la sélection d’enregistrements est vide ou ne contient que des valeurs NULL, le résultat contiendra NULL.

Exemples STDDEV_POP

Example 1. En utilisant la fonction STDDEV_POP
SELECT
  dept_no,
  STDDEV_POP(salary)
FROM employee
GROUP BY dept_no

STDDEV_SAMP()

Disponible en

DSQL

Syntaxe
STDDEV_SAMP(<expr>)
Table 1. paramètres de fonction STDDEV_SAMP
Paramètre Description

expr

Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression.

type de résultat de retour

DOUBLE PRECISION ou NUMERIC selon le type expr.

La fonction STDDEV_SAMP renvoie l’écart-type du groupe. Les valeurs NULL sont ignorées.

La fonction STDDEV_SAMP(<expr>) est équivalente à

SQRT(VAR_SAMP(<expr>))

Si la sélection d’enregistrements est vide, ne contient qu’un seul enregistrement ou ne contient que des valeurs NULL, le résultat contiendra NULL.

Exemples STDDEV_SAMP

Example 1. En utilisant la fonction STDDEV_SAMP
SELECT
  dept_no,
  STDDEV_SAMP(salary)
FROM employee
GROUP BY dept_no

VAR_POP()

Disponible en

DSQL

Syntaxe
VAR_POP(<expr>)
Table 1. paramètres de fonction VAR_POP
Paramètre Description

expr

Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression.

type de résultat de retour

DOUBLE PRECISION ou NUMERIC selon le type expr.

La fonction VAR_POP renvoie la variance échantillonnée pour le groupe. Les valeurs NULL sont ignorées.

La fonction VAR_POP(<expr>) est équivalente à

(SUM(<expr> * <expr>) - SUM(<expr>) * SUM(<expr>) / COUNT(<expr>))
  / COUNT(<expr>)

Si la sélection d’enregistrements est vide ou ne contient que des valeurs NULL, le résultat contiendra NULL.

Exemples VAR_POP

Example 1. En utilisant la fonction VAR_POP
SELECT
  dept_no,
  VAR_POP(salary)
FROM employee
GROUP BY dept_no

VAR_SAMP()

Disponible en

DSQL

Syntaxe
VAR_SAMP(<expr>)
Table 1. paramètres de fonction VAR_SAMP
Paramètre Description

expr

Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression.

type de résultat de retour

DOUBLE PRECISION ou NUMERIC selon le type expr.

La fonction VAR_SAMP renvoie la variance d’échantillonnage non biaisée pour le groupe. Les valeurs NULL sont ignorées.

La fonction VAR_SAMP(<expr>) est équivalente à

(SUM(<expr> * <expr>) - SUM(<expr>) * SUM(<expr>) / COUNT(<expr>))
  / (COUNT(<expr>) - 1)

Si la sélection d’enregistrements est vide, ne contient qu’un seul enregistrement ou ne contient que des valeurs NULL, le résultat contiendra NULL.

Exemples VAR_SAMP

Example 1. En utilisant la fonction VAR_SAMP
SELECT
  dept_no,
  VAR_SAMP(salary)
FROM employee
GROUP BY dept_no

Fonctions de régression linéaire

Les fonctions de régression linéaire sont utiles pour poursuivre une ligne de tendance. Une ligne de tendance est généralement un modèle qui est suivi par un ensemble de valeurs. Une ligne de tendance est utile pour prédire les valeurs futures, ce qui signifie que la tendance se poursuivra dans le futur. Pour poursuivre une ligne de tendance, la pente et le point d’intersection avec l’axe Y doivent être connus. L’ensemble des fonctions linéaires comprend des fonctions permettant de calculer ces valeurs.

Dans la syntaxe de la fonction, u est interprété comme une variable dépendant de x.

REGR_AVGX()

Disponible en

DSQL

Syntaxe
REGR_AVGX ( <y>, <x> )
Table 1. paramètres de fonction REGR_AVGX
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

DOUBLE PRECISION

La fonction REGR_AVGX calcule la moyenne de la ligne de régression de la variable indépendante.

La fonction REGR_AVGX(<y>, <x>) est équivalente à

SUM(<exprX>) / REGR_COUNT(<y>, <x>)

<exprX> ::=
  CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END

REGR_AVGY()

Disponible en

DSQL

Syntaxe
REGR_AVGY(<y>, <x>)
Table 1. paramètres de fonction REGR_AVGY
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

DOUBLE PRECISION

La fonction REGR_AVGY calcule la moyenne de la variable dépendante de la ligne de régression.

La fonction REGR_AVGY(<y>, <x>) est équivalente à

SUM(<exprY>) / REGR_COUNT(<y>, <x>)

<exprY> ::=
  CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <y> END

REGR_COUNT()

Disponible en

DSQL

Syntaxe
REGR_COUNT(<y>, <x>)
Table 1. paramètres de fonction REGR_COUNT
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

BIGINT

La fonction REGR_COUNT renvoie le nombre de paires non vides utilisées pour créer la ligne de régression.

La fonction REGR_COUNT(<y>, <x>) est équivalente à

SUM(CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN 1 END)

REGR_INTERCEPT()

Disponible en

DSQL

Syntaxe
REGR_INTERCEPT(<y>, <x>)
Table 1. paramètres de fonction REGR_INTERCEPT
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable indépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées en tant qu’expression ne sont pas autorisées.

type de résultat de retour

DOUBLE PRECISION

La fonction REGR_INTERCEPT calcule le point d’intersection de la ligne de régression avec l’axe des ordonnées.

La fonction REGR_INTERCEPT(<y>, <x>) est équivalente à

REGR_AVGY(<y>, <x>) - REGR_SLOPE(<y>, <x>) * REGR_AVGX(<y>, <x>)

Exemples REGR_INTERCEPT

Example 1. Prévision des volumes de vente
WITH RECURSIVE years(byyear) AS (
  SELECT 1991 FROM rdb$database UNION ALL
  SELECT byyear+1 FROM years WHERE byyear < 2020
),
s AS (
  SELECT EXTRACT(YEAR FROM order_date) AS byyear,
         SUM(total_value) AS total_value
  FROM sales GROUP BY 1
),
regr AS (
  SELECT REGR_INTERCEPT(total_value, byyear) as intercept,
         REGR_SLOPE(total_value, byyear) as slope
FROM s)
SELECT years.byyear AS byyear,
       intercept + (slope * years.byyear) AS total_value
FROM years CROSS JOIN regr
BYYEAR     TOTAL_VALUE
----------------------------
 1991        118377,35
 1992        414557,62
 1993        710737,89
 1994       1006918,16
 1995       1303098,43
 1996       1599278,69
 1997       1895458,96
 1998       2191639,23
 1999       2487819,50
 2000       2783999,77
...

REGR_R2()

Disponible en

DSQL

Syntaxe
REGR_R2(<y>, <x>)
Table 1. paramètres de fonction REGR_R2
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

DOUBLE PRECISION

La fonction REGR_R2 calcule le coefficient de détermination, ou R-carré, de la ligne de régression.

La fonction REGR_R2(<y>, <x>) est équivalente à

POWER(CORR(<y>, <x>), 2)

REGR_SLOPE()

Disponible en

DSQL

Syntaxe
REGR_SLOPE(<y>, <x>)
Table 1. paramètres de fonction REGR_SLOPE
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

DOUBLE PRECISION

La fonction REGR_SLOPE calcule la pente de la ligne de régression.

La fonction REGR_SLOPE(<y>, <x>) est équivalente à

COVAR_POP(<y>, <x>) / VAR_POP(<exprX>)

<exprX> :==
  CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END

REGR_SXX()

Disponible en

DSQL

Syntaxe
REGR_SXX(<y>, <x>)
Table 1. paramètres de fonction REGR_SXX
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

DOUBLE PRECISION

Statistique de diagnostic utilisée pour l’analyse de régression.

La fonction REGR_SXX(<y>, <x>) est calculée comme suit :

REGR_COUNT(<y>, <x>) * VAR_POP(<exprX>)

<exprX> :==
  CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END

REGR_SXY()

Disponible en

DSQL

Syntaxe
REGR_SXY(<y>, <x>)
Table 1. paramètres de fonction REGR_SXY
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

DOUBLE PRECISION

Statistique de diagnostic utilisée pour l’analyse de régression.

La fonction REGR_SXY(<y>, <x>) est calculée comme suit :

REGR_COUNT(<y>, <x>) * COVAR_POP(<y>, <x>)

REGR_SYY()

Disponible en

DSQL

Syntaxe
REGR_SYY(<y>, <x>)
Table 1. paramètres de fonction REGR_SYY
Paramètre Description

y

Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

x

Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression.

type de résultat de retour

DOUBLE PRECISION

La statistique de diagnostic utilisée pour l’analyse de régression.

La fonction REGR_SYY(<y>, <x>) est calculée comme suit :

REGR_COUNT(<y>, <x>) * VAR_POP(<exprY>)

<exprY> :==
  CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <y> END