Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesDeterministic

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 de level no intervalo [0.01, 0.99]. Float*

Argumentos

  • expr — Expressão sobre os valores da coluna que resulta em tipos de dados numéricos, Date ou DateTime. (U)Int* ou Int128 ou UInt128 ou Int256 ou UInt256 ou Float* ou Date ou DateTime
  • determinator — 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]                                         │
└─────────────────────────────────────────────────────────┘
Navigation