Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesTiming

quantilesTiming

Introducido en: v1.1.0

Calcula varios cuantiles de una secuencia de datos numéricos en distintos niveles de forma simultánea y con una precisión determinada.

Esta función es equivalente a quantileTiming, pero permite calcular varios niveles de cuantil en una sola pasada, lo que resulta más eficiente que llamar a funciones de cuantil individuales.

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.

Exactitud

El cálculo es exacto si:

  • El número total de valores no supera 5670.
  • El número total de valores supera 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.

Sintaxis

quantilesTiming(level1, level2, ...)(expr)

Parámetros

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

Argumentos

  • expr — Expresión sobre los valores de la columna que da como resultado tipos de datos numéricos, Date o DateTime. Si se pasan valores negativos a la función, el comportamiento es indefinido. Si el valor es mayor que 30.000 (un tiempo de carga de página de más de 30 segundos), se asume que es 30.000. (U)Int* o Float* o Date o DateTime

Valor devuelto

Array de cuantiles de los niveles especificados en el mismo orden en que se especificaron dichos niveles. Array(Float32)

Ejemplos

Cálculo de varios cuantiles de tiempo

CREATE TABLE t (response_time UInt32) ENGINE = Memory;
INSERT INTO t VALUES (72), (112), (126), (145), (104), (242), (313), (168), (108);

SELECT quantilesTiming(0.25, 0.5, 0.75)(response_time) FROM t;
┌─quantilesTiming(0.25, 0.5, 0.75)(response_time)─┐
│ [108,126,168]                                   │
└─────────────────────────────────────────────────┘
Navigation