Kategorien:

Aggregatfunktionen (Allgemein), Fensterfunktionen (Allgemein, Fensterrahmen)

VAR_POP

Gibt die Populationsvarianz von Nicht-NULL-Datensätzen in einer Gruppe zurück. Wenn alle Datensätze in einer Gruppe NULL sind, wird eine NULL zurückgegeben.

Aliasse:

VARIANCE_POP

Syntax

Aggregatfunktion

VAR_POP( [ DISTINCT ] <expr1> )
Copy

Fensterfunktionen

VAR_POP( [ DISTINCT ] <expr1> ) OVER (
                                     [ PARTITION BY <expr2> ]
                                     [ ORDER BY <expr3> [ ASC | DESC ] [ <window_frame> ] ]
                                     )
Copy

Weitere Informationen zur Syntax von window_frame finden Sie unter Syntax und Nutzung von Fensterrahmen.

Argumente

expr1

Der Ausdruck expr1 sollte einen numerischen Datentyp ergeben.

expr2

Dies ist der optionale Ausdruck, nach dem partitioniert werden soll.

expr3

Dies ist der optionale Ausdruck, nach dem in jeder Partition sortiert werden soll.

Rückgabewerte

Der Datentyp des zurückgegebenen Werts ist NUMBER(<Genauigkeit>, <Skalierung>). Die Skalierung hängt von den verarbeiteten Werten ab.

Nutzungshinweise

  • Wenn ein VARCHAR-Ausdruck übergeben wird, wandelt diese Funktion die Eingabe implizit in Gleitkommawerte um. Wenn die Umwandlung nicht ausgeführt werden kann, wird ein Fehler zurückgegeben.

  • Wenn diese Funktion als Fensterfunktion (d. h. mit einer OVER-Klausel) aufgerufen wird:

    • Wenn die OVER-Klausel eine ORDER BY-Unterklausel enthält, dann gilt Folgendes:

      • Ein Fensterrahmen ist erforderlich. Wenn kein Fensterrahmen angegeben ist, impliziert das ORDER BY einen kumulativen Fensterrahmen:

        RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

        Weitere Informationen zu Fensterrahmen, einschließlich Syntax und Beispiele, finden Sie unter Syntax und Nutzung von Fensterrahmen.

        Weitere Informationen zu impliziten Fensterrahmen finden Sie unter Hinweise zur Nutzung von Fensterrahmen.

      • Die Verwendung des Schlüsselworts DISTINCT innerhalb der Fensterfunktion ist nicht zulässig und führt zu einem Kompilierfehler.

Beispiele

In diesem Beispiel wird die Verwendung der Funktion VAR_POP veranschaulicht:

Erstellen Sie eine Tabelle, und füllen Sie diese:

create table aggr(k int, v decimal(10,2), v2 decimal(10, 2));
insert into aggr values 
   (1, 10, null),
   (2, 10, 11), 
   (2, 20, 22), 
   (2, 25, null), 
   (2, 30, 35);
Copy

Fragen Sie die Tabelle ab, indem Sie VAR_POP() aufrufen:

SELECT k, var_pop(v), var_pop(v2) 
    FROM aggr 
    GROUP BY k
    ORDER BY k;
+---+---------------+---------------+
| K |    VAR_POP(V) |   VAR_POP(V2) |
|---+---------------+---------------|
| 1 |  0.0000000000 |          NULL |
| 2 | 54.6875000000 | 96.2222222222 |
+---+---------------+---------------+
Copy