Saltar al contenido principal

quantileDeterministic

Introducido en: v1.1.0 Calcula un cuantil aproximado de una secuencia de datos numéricos. Esta función aplica muestreo de reservorio con un tamaño de reservorio de hasta 8192 y un algoritmo de muestreo determinista. El resultado es determinista. Para obtener un cuantil exacto, use la función quantileExact. Al usar varias funciones quantile* con distintos niveles en una consulta, los estados internos no se combinan (es decir, la consulta funciona con menos eficiencia de la que podría). En este caso, use la función quantiles. Sintaxis
quantileDeterministic(level)(expr, determinator)
Alias: medianDeterministic Parámetros
  • level — Opcional. Nivel del cuantil. Número de coma flotante constante entre 0 y 1. Recomendamos usar un valor de level en el intervalo [0.01, 0.99]. Valor predeterminado: 0.5. Con level=0.5, la función calcula la mediana. Float*
Argumentos
  • expr — Expresión sobre los valores de la columna que da como resultado tipos de datos numéricos, Date o DateTime. (U)Int* o Float* o Decimal* o Date o DateTime
  • determinator — Número cuyo hash se usa en lugar de un generador de números aleatorios en el algoritmo de muestreo por reservorio para que el resultado del muestreo sea determinista. Como determinador, puede usar cualquier número positivo determinista, por ejemplo, un id de usuario o un id de evento. Si el mismo valor del determinador aparece con demasiada frecuencia, la función produce resultados incorrectos. (U)Int*
Valor devuelto Devuelve un cuantil aproximado del nivel especificado. Float64 o Date o DateTime Ejemplos Cálculo de un cuantil determinista
Query
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantileDeterministic(val, 1) FROM t;
Response
┌─quantileDeterministic(val, 1)─┐
│                           1.5 │
└───────────────────────────────┘
Véase también
Última modificación el 10 de junio de 2026