quantileExact
Introducido en: v1.1.0
Calcula exactamente el cuantil de una secuencia de datos numéricos.
Para obtener el valor exacto, todos los valores proporcionados se combinan en un array, que luego se ordena parcialmente.
Por lo tanto, la función consume O(n) de memoria, donde n es el número de valores proporcionados.
Sin embargo, para un número reducido de valores, la función es muy eficaz.
Al usar varias funciones quantile* con distintos niveles en una consulta, los estados internos no se combinan (es decir, la consulta se ejecuta de forma menos eficiente de lo que podría).
En este caso, use la función quantiles.
Sintaxis
quantileExact(level)(expr)Alias: medianExact
Parámetros
level— Opcional. Nivel del cuantil. Número de coma flotante constante de 0 a 1. Recomendamos usar un valor delevelen el rango[0.01, 0.99]. Valor predeterminado: 0.5. Conlevel=0.5, la función calcula la mediana.Float*
Argumentos
expr— Expresión sobre los valores de la columna que produce tipos de datos numéricos,Date,DateTimeoDateTime64.(U)Int*oInt128oUInt128oInt256oUInt256oFloat*oDecimal*oDateoDateTimeoDateTime64
Valor devuelto
Cuantil del nivel especificado. Para los tipos de datos numéricos, el formato de salida será el mismo que el formato de entrada. (U)Int* o Int128 o UInt128 o Int256 o UInt256 o Float* o Decimal* o Date o DateTime o DateTime64
Ejemplos
Cálculo del cuantil exacto
SELECT quantileExact(number) FROM numbers(10);┌─quantileExact(number)─┐
│ 5 │
└───────────────────────┘Véase también