Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Funciones de quantiles

quantiles

Introducido en: v1.1.0

Calcula simultáneamente varios cuantiles aproximados de una secuencia de datos numéricos en distintos niveles.

Esta función aplica muestreo de reservorio con un reservorio de hasta 8192 elementos y un generador de números aleatorios para el muestreo. El resultado no es determinista.

Usar quantiles es más eficiente que llamar a varias funciones quantile individuales cuando necesitas varios valores de cuantiles, ya que todos los cuantiles se calculan en una sola pasada sobre los datos.

Sintaxis

quantiles(level1, level2, ...)(expr)

Parámetros

  • level — Niveles de cuantiles. Uno o más números de coma flotante constantes entre 0 y 1. Recomendamos usar valores de level en el rango [0.01, 0.99]. Float*

Argumentos

Valor devuelto

Array de cuantiles aproximados de los niveles especificados, en el mismo orden en que se especificaron. Los argumentos numéricos producen Float64, mientras que los argumentos Decimal, Date, DateTime y DateTime64 conservan su formato de entrada. Array(Float64) o Array(Decimal*) o Array(Date) o Array(DateTime) o Array(DateTime64)

Ejemplos

Cálculo eficiente de múltiples cuantiles

CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

SELECT quantiles(0.25, 0.5, 0.75, 0.9)(val) FROM t;
┌─quantiles(0.25, 0.5, 0.75, 0.9)(val)─┐
│ [2.5,5,7.5,9]                        │
└──────────────────────────────────────┘
Navigation