Saltar al contenido principal

quantileTiming

Introducido en: v1.1.0 Calcula, con la precisión especificada, el cuantil de una secuencia de datos numéricos. El resultado es determinista (no depende del orden de procesamiento de la consulta). La función está optimizada para trabajar con secuencias que describen distribuciones, como los tiempos de carga de páginas web o los tiempos de respuesta del backend. Cuando se usan 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. Precisión El cálculo es preciso si:
  • El número total de valores no supera los 5670.
  • El número total de valores supera los 5670, pero el tiempo de carga de la página es inferior a 1024 ms.
De lo contrario, el resultado del cálculo se redondea al múltiplo de 16 ms más cercano.
Para calcular los cuantiles del tiempo de carga de una página, esta función es más eficaz y precisa que quantile.
Si no se pasa ningún valor a la función (al usar quantileTimingIf), se devuelve NaN. El objetivo es diferenciar estos casos de aquellos cuyo resultado es cero. Consulte la cláusula ORDER BY para ver notas sobre la ordenación de valores NaN.
Sintaxis
quantileTiming(level)(expr)
Alias: medianTiming Parámetros
  • level — Opcional. Nivel del cuantil. Número constante de coma flotante 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 una columna que devuelve un número de tipo Float*. Si se pasan valores negativos a la función, el comportamiento no está definido. Si el valor es mayor que 30.000 (un tiempo de carga de página superior a 30 segundos), se considera 30.000. Float*
Valor devuelto Cuantil del nivel especificado. Si no se pasan valores a la función (al usar quantileTimingIf), se devuelve NaN. Esto permite diferenciar estos casos de los que dan como resultado cero. Float32 Ejemplos Cálculo del cuantil de tiempo
Query
CREATE TABLE t (response_time UInt32) ENGINE = Memory;
INSERT INTO t VALUES (72), (112), (126), (145), (104), (242), (313), (168), (108);

SELECT quantileTiming(response_time) FROM t;
Response
┌─quantileTiming(response_time)─┐
│                           126 │
└───────────────────────────────┘
Véase también
Última modificación el 10 de junio de 2026