quantilesExact
Introducido en: v1.1.0
Calcula exactamente varios cuantiles de una secuencia de datos numéricos en distintos niveles de forma simultánea.
Esta función es equivalente a quantileExact, pero permite calcular varios niveles de cuantiles en una sola pasada, lo que resulta más eficiente que llamar a funciones de cuantiles por separado.
Para obtener valores exactos, 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.
Sintaxis
quantilesExact(level1, level2, ...)(expr)Parámetros
level— Niveles de cuantiles. Uno o más números constantes de coma flotante entre 0 y 1. Recomendamos usar valores delevelen el rango[0.01, 0.99].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
Array de cuantiles de los niveles especificados, en el mismo orden en que se indicaron. Para los tipos de datos numéricos, el formato de salida coincide con el formato de entrada. Array((U)Int*) o Array(Int128) o Array(UInt128) o Array(Int256) o Array(UInt256) o Array(Float*) o Array(Decimal*) o Array(Date) o Array(DateTime) o Array(DateTime64)
Ejemplos
Cálculo de múltiples cuantiles exactos
SELECT quantilesExact(0.25, 0.5, 0.75)(number) FROM numbers(10)┌─quantilesExact(0.25, 0.5, 0.75)(number)─┐
│ [2,5,7] │
└─────────────────────────────────────────┘