quantilesDeterministic
Introduzido em: v1.1.0
Calcula vários quantis aproximados de uma sequência numérica de dados em diferentes níveis simultaneamente, usando amostragem por reservatório determinística.
Esta função é equivalente a quantileDeterministic, mas permite calcular vários níveis de quantil em uma única passagem, o que é mais eficiente do que chamar funções de quantil individualmente.
Sintaxe
quantilesDeterministic(level1, level2, ...)(expr, determinator)Parâmetros
level— Níveis dos quantis. Um ou mais números de ponto flutuante constantes de 0 a 1. Recomendamos usar valores delevelno intervalo[0.01, 0.99].Float*
Argumentos
expr— Expressão sobre os valores da coluna que resulta em tipos de dados numéricos,DateouDateTime.(U)Int*ouInt128ouUInt128ouInt256ouUInt256ouFloat*ouDateouDateTimedeterminator— Número cujo hash é usado no lugar de um gerador de números aleatórios no algoritmo de amostragem por reservatório para tornar o resultado da amostragem determinístico.UInt*
Valor retornado
Array de quantis aproximados dos níveis especificados, na mesma ordem em que os níveis foram informados. Array(Float64) ou Array(Date) ou Array(DateTime)
Exemplos
Calculando vários quantis determinísticos
SELECT quantilesDeterministic(0.25, 0.5, 0.75)(number, number) FROM numbers(10)┌─quantilesDeterministic(0.25, 0.5, 0.75)(number, number)─┐
│ [2.25,4.5,6.75] │
└─────────────────────────────────────────────────────────┘