- Kategorien:
Aggregationsfunktionen (Perzentilschätzung), Fensterfunktionen
APPROX_PERCENTILE_ESTIMATE¶
Gibt den gewünschten ungefähren Perzentilwert für den angegebenen t-Digest-status zurück.
Ein durch APPROX_PERCENTILE_ACCUMULATE und APPROX_PERCENTILE_COMBINE erzeugter t-Digest-Status kann verwendet werden, um mit dieser Funktion eine Perzentilschätzung zu berechnen.
Somit ist APPROX_PERCENTILE_ESTIMATE(APPROX_PERCENTILE_ACCUMULATE(…)) äquivalent zu APPROX_PERCENTILE(…).
Syntax¶
APPROX_PERCENTILE_ESTIMATE( <state> , <percentile> )
Argumente¶
state
Ein Ausdruck, der Statusinformationen enthält, die durch einen Aufruf von APPROX_PERCENTILE_ACCUMULATE oder APPROX_PERCENTILE_COMBINE generiert wurden.
percentile
Ein konstanter tatsächlicher Wert, der größer gleich
0.0
und kleiner als1.0
ist. Dieser Wert gibt das Perzentil von 0 bis 99,999… an (z. B. gibt der Wert 0,65 das 65. Perzentil an).
Beispiel¶
Stellen Sie sich ein Szenario vor, in dem Sie mehrere Perzentilwerte aus einer bestimmten Menge von Zahlen approximieren müssen. Dazu können Sie den Status erstellen und dann mithilfe von APPROX_PERCENTILE_ESTIMATE alle Perzentile berechnen:
Speichern Sie zuerst den Status:
CREATE OR REPLACE TABLE resultstate AS (SELECT APPROX_PERCENTILE_ACCUMULATE(c1) s FROM testtable);
Fragen Sie dann den Status für verschiedene Perzentile ab:
SELECT APPROX_PERCENTILE_ESTIMATE(s , 0.01), APPROX_PERCENTILE_ESTIMATE(s , 0.15), APPROX_PERCENTILE_ESTIMATE(s , 0.845) FROM testtable;
Ein ausführlicheres Beispiel finden Sie im Abschnitt „Beispiele“ unter APPROX_PERCENTILE_ACCUMULATE.