CORR()DSQL, PSQL
DOUBLE PRECISION
CORR ( <expr1>, <expr2> )
| Parameter | Beschreibung | 
|---|---|
| exprN | Numerischer Ausdruck.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion CORR gibt den Korrelationskoeffizienten für ein Paar numerischer Ausdrücke zurück.
Die Funktion CORR(<expr1>, <expr2>) ist äquivalent zu
COVAR_POP(<expr1>, <expr2>) / (STDDEV_POP(<expr2>) * STDDEV_POP(<expr1>))
Dies wird auch als Korrelationskoeffizient nach Pearson bezeichnet.
Im statistischen Sinne ist Korrelation der Grad, mit dem ein Variablenpaar linear verbunden ist.Eine lineare Beziehung zwischen Variablen bedeutet, dass der Wert einer Variablen bis zu einem gewissen Grad den Wert der anderen vorhersagen kann.Der Korrelationskoeffizient stellt den Korrelationsgrad als Zahl von -1 (hohe inverse Korrelation) bis 1 (hohe Korrelation) dar.Ein Wert von 0 entspricht keiner Korrelation.
Wenn die Gruppe oder das Fenster leer ist oder nur NULL-Werte enthält, ist das Ergebnis NULL.
CORR-Beispieleselect
  corr(alength, aheight) AS c_corr
from measureCOVAR_POP()DSQL, PSQL
DOUBLE PRECISION
COVAR_POP ( <expr1>, <expr2> )
| Parameter | Beschreibung | 
|---|---|
| exprN | Numerischer Ausdruck.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion COVAR_POP gibt die Populationskovarianz für ein Paar numerischer Ausdrücke zurück.
Die Funktion COVAR_POP(<expr1>, <expr2>) ist äquivalent zu
(SUM(<expr1> * <expr2>) - SUM(<expr1>) * SUM(<expr2>) / COUNT(*)) / COUNT(*)
Wenn die Gruppe oder das Fenster leer ist oder nur NULL-Werte enthält, ist das Ergebnis NULL.
COVAR_POP-Beispieleselect
  covar_pop(alength, aheight) AS c_covar_pop
from measureCOVAR_SAMP()DSQL, PSQL
DOUBLE PRECISION
COVAR_SAMP ( <expr1>, <expr2> )
| Parameter | Beschreibung | 
|---|---|
| exprN | Numerischer Ausdruck.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion COVAR_SAMP gibt die Stichprobenkovarianz für ein Paar numerischer Ausdrücke zurück.
Die Funktion COVAR_SAMP(<expr1>, <expr2>) ist äquivalent zu
(SUM(<expr1> * <expr2>) - SUM(<expr1>) * SUM(<expr2>) / COUNT(*)) / (COUNT(*) - 1)
Wenn die Gruppe oder das Fenster leer ist, nur 1 Zeile enthält oder nur NULL-Werte enthält, ist das Ergebnis NULL.
COVAR_SAMP-Beispieleselect
  covar_samp(alength, aheight) AS c_covar_samp
from measureSTDDEV_POPDSQL, PSQL
DOUBLE PRECISION oder NUMERIC je nach Typ von expr
STDDEV_POP ( <expr> )
| Parameter | Beschreibung | 
|---|---|
| expr | Numerischer Ausdruck.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion STDDEV_POP gibt die Populationsstandardabweichung für eine Gruppe oder ein Fenster zurück.NULL-Werte werden übersprungen.
Die Funktion STDDEV_POP(<expr>) ist äquivalent zu
SQRT(VAR_POP(<expr>))
Wenn die Gruppe oder das Fenster leer ist oder nur NULL-Werte enthält, ist das Ergebnis NULL.
STDDEV_POP-Beispieleselect
  dept_no
  stddev_pop(salary)
from employee
group by dept_noSTDDEV_SAMP()DSQL, PSQL
DOUBLE PRECISION oder NUMERIC je nach Typ von expr
STDDEV_POP ( <expr> )
| Parameter | Beschreibung | 
|---|---|
| expr | Numerischer Ausdruck.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion STDDEV_SAMP gibt die Standardabweichung der Stichprobe für eine Gruppe oder ein Fenster zurück.NULL-Werte werden übersprungen.
Die Funktion STDDEV_SAMP(<expr>) ist äquivalent zu
SQRT(VAR_SAMP(<expr>))
Wenn die Gruppe oder das Fenster leer ist, nur 1 Zeile enthält oder nur NULL-Werte enthält, ist das Ergebnis NULL.
STDDEV_SAMP-Beispieleselect
  dept_no
  stddev_samp(salary)
from employee
group by dept_noVAR_POP()DSQL, PSQL
DOUBLE PRECISION oder NUMERIC je nach Typ von expr
VAR_POP ( <expr> )
| Parameter | Beschreibung | 
|---|---|
| expr | Numerischer Ausdruck.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion VAR_POP gibt die Populationsvarianz für eine Gruppe oder ein Fenster zurück.NULL-Werte werden übersprungen.
Die Funktion VAR_POP(<expr>) ist äquivalent zu
(SUM(<expr> * <expr>) - SUM (<expr>) * SUM (<expr>) / COUNT(<expr>)) / COUNT (<expr>)
Wenn die Gruppe oder das Fenster leer ist oder nur NULL-Werte enthält, ist das Ergebnis NULL.
VAR_POP-Beispieleselect
  dept_no
  var_pop(salary)
from employee
group by dept_noVAR_SAMP()DSQL, PSQL
DOUBLE PRECISION oder NUMERIC je nach Typ von expr
VAR_SAMP ( <expr> )
| Parameter | Beschreibung | 
|---|---|
| expr | Numerischer Ausdruck.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion VAR_POP gibt die Stichprobenvarianz für eine Gruppe oder ein Fenster zurück.NULL-Werte werden übersprungen.
Die Funktion VAR_SAMP(<expr>) ist äquivalent zu
(SUM(<expr> * <expr>) - SUM(<expr>) * SUM (<expr>) / COUNT (<expr>)) / (COUNT(<expr>) - 1)
Wenn die Gruppe oder das Fenster leer ist, nur 1 Zeile enthält oder nur NULL-Werte enthält, ist das Ergebnis NULL.
VAR_SAMP-Beispieleselect
  dept_no
  var_samp(salary)
from employee
group by dept_noLineare Regressionsfunktionen sind nützlich für die Fortsetzung von Trendlinien.Die Trend- oder Regressionslinie ist normalerweise ein Muster, dem eine Reihe von Werten folgt.Die lineare Regression ist nützlich, um zukünftige Werte vorherzusagen.Um die Regressionsgerade fortzusetzen, müssen Sie die Steigung und den Schnittpunkt mit der y-Achse kennen.Zur Berechnung dieser Werte kann ein Satz linearer Funktionen verwendet werden.
In der Funktionssyntax wird y als x-abhängige Variable interpretiert.
Die Aggregatfunktionen der linearen Regression verwenden ein Argumentpaar, den abhängigen Variablenausdruck (y) und den unabhängigen Variablenausdruck (x), die beide numerische Wertausdrücke sind.Jede Zeile, in der eines der Argumente als NULL ausgewertet wird, wird aus den qualifizierenden Zeilen entfernt.Wenn keine qualifizierenden Zeilen vorhanden sind, ist das Ergebnis von REGR_COUNT 0 (Null), und die anderen Aggregatfunktionen der linearen Regression ergeben NULL.
REGR_AVGX()DSQL, PSQL
DOUBLE PRECISION
REGR_AVGX ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_AVGX berechnet den Durchschnitt der unabhängigen Variablen (x) der Regressionsgerade.
Die Funktion REGR_AVGX(<y>, <x>) ist äquivalent zu
SUM(<exprX>) / REGR_COUNT(<y>, <x>) <exprX> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END
REGR_AVGY()DSQL, PSQL
DOUBLE PRECISION
REGR_AVGY ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_AVGY berechnet den Durchschnitt der abhängigen Variablen (y) der Regressionsgerade.
Die Funktion REGR_AVGY(<y>, <x>) ist äquivalent zu
SUM(<exprY>) / REGR_COUNT(<y>, <x>) <exprY> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <y> END
REGR_COUNT()DSQL, PSQL
DOUBLE PRECISION
REGR_COUNT ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_COUNT zählt die Anzahl der nicht leeren Paare der Regressionsgerade.
Die Funktion REGR_COUNT(<y>, <x>) ist äquivalent zu
SUM(<exprXY>) / REGR_COUNT(<y>, <x>) <exprXY> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN 1 END
REGR_INTERCEPT()DSQL, PSQL
DOUBLE PRECISION
REGR_INTERCEPT ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_INTERCEPT berechnet den Schnittpunkt der Regressionsgerade mit der y-Achse.
Die Funktion REGR_INTERCEPT(<y>, <x>) ist äquivalent zu
REGR_AVGY(<y>, <x>) - REGR_SLOPE(<y>, <x>) * REGR_AVGX(<y>, <x>)
REGR_INTERCEPT-BeispielePrognose des Verkaufsvolumens
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 regrBYYEAR 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()DSQL, PSQL
DOUBLE PRECISION
REGR_R2 ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_R2 berechnet das Bestimmtheitsmaß oder das R-Quadrat der Regressionsgerade.
Die Funktion REGR_R2(<y>, <x>) ist äquivalent zu
POWER(CORR(<y>, <x>), 2)
REGR_SLOPE()DSQL, PSQL
DOUBLE PRECISION
REGR_SLOPE ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_SLOPE berechnet die Steigung der Regressionsgerade.
Die Funktion REGR_SLOPE(<y>, <x>) ist äquivalent zu
COVAR_POP(<y>, <x>) / VAR_POP(<exprX>) <exprX> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END
REGR_SXX()DSQL, PSQL
DOUBLE PRECISION
REGR_SXX ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_SXX berechnet die Quadratsumme der unabhängigen Ausdrucksvariablen (x).
Die Funktion REGR_SXX(<y>, <x>) ist äquivalent zu
REGR_COUNT(<y>, <x>) * VAR_POP(<exprX>) <exprX> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END
REGR_SXY()DSQL, PSQL
DOUBLE PRECISION
REGR_SXY ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_SXY berechnet die Summe der Produkte des unabhängigen Variablenausdrucks (x) mal des abhängigen Variablenausdrucks (y).
Die Funktion REGR_SXY(<y>, <x>) ist äquivalent zu
REGR_COUNT(<y>, <x>) * COVAR_POP(<y>, <x>)
REGR_SYY()DSQL, PSQL
DOUBLE PRECISION
REGR_SYY ( <y>, <x> )
| Parameter | Beschreibung | 
|---|---|
| y | Abhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
| x | Unabhängige Variable der Regressionsgerade.Sie kann eine Tabellenspalte, eine Konstante, eine Variable, einen Ausdruck, eine Nicht-Aggregatfunktion oder eine UDF enthalten.Aggregatfunktionen sind als Ausdrücke nicht zulässig. | 
Die Funktion REGR_SYY berechnet die Quadratsumme der abhängigen Variablen (y).
Die Funktion REGR_SYY(<y>, <x>) ist äquivalent zu
REGR_COUNT(<y>, <x>) * VAR_POP(<exprY>) <exprY> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <y> END