- Kategorien:
Aggregationsfunktionen (Allgemein), Fensterfunktionen
KURTOSIS¶
Gibt den Exzess (Überkurtosis) der Population von Nicht-NULL-Datensätzen zurück. Wenn alle Datensätze in einer Gruppe NULL sind, gibt die Funktion NULL zurück.
Die folgende Formel wird verwendet, um den Exzess der Population zu berechnen:
Wobei:
\(n\) gibt die Anzahl der Nicht-Null-Datensätze an.
\(m_4\) bezeichnet das vierte zentrale Moment der Stichprobe.
\(k_2\) bezeichnet den symmetrischen, unverzerrten Schätzer der Varianz.
Syntax¶
Aggregatfunktion
KURTOSIS( <expr> )
Fensterfunktionen
KURTOSIS( <expr> ) OVER ( [ PARTITION BY <expr2> ] )
Argumente¶
expr
Dies ist ein Ausdruck, der einen numerischen Datentyp ergibt (INTEGER, FLOAT, DECIMAL usw.).
expr2
Der Ausdruck, der die einzelnen Gruppen oder Fenster definiert.
Rückgabewerte¶
Gibt DOUBLE zurück, wenn der Eingabedatentyp DOUBLE/FLOAT ist.
Gibt DECIMAL zurück, wenn der Eingabedatentyp ein anderer numerischer Datentyp ist.
Nutzungshinweise¶
Bei Eingaben mit weniger als vier Datensätzen gibt KURTOSIS den Wert NULL zurück.
Bei Verwendung als Fensterfunktion unterstützt diese Funktion Folgendes nicht:
ORDER BY-Unterklausel in der OVER()-Klausel
Fensterrahmen
Beispiele¶
Erstellen Sie einer Tabelle und Laden der Daten:
create or replace table aggr(k int, v decimal(10,2), v2 decimal(10, 2)); insert into aggr values (1, 10, null), (2, 10, 12), (2, 20, 22), (2, 25, null), (2, 30, 35);
Zeigen Sie die Daten an:
select * from aggr order by k, v; +---+-------+-------+ | K | V | V2 | |---+-------+-------| | 1 | 10.00 | NULL | | 2 | 10.00 | 12.00 | | 2 | 20.00 | 22.00 | | 2 | 25.00 | NULL | | 2 | 30.00 | 35.00 | +---+-------+-------+
Fragen Sie die Daten ab:
select KURTOSIS(K), KURTOSIS(V), KURTOSIS(V2) from aggr; +----------------+-----------------+--------------+ | KURTOSIS(K) | KURTOSIS(V) | KURTOSIS(V2) | |----------------+-----------------+--------------| | 5.000000000000 | -2.324218750000 | NULL | +----------------+-----------------+--------------+