Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantileTDigestWeighted

quantileTDigestWeighted

Introduzido em: v20.1.0

Calcula um quantil aproximado de uma sequência de valores numéricos usando o algoritmo t-digest. A função leva em consideração o peso de cada elemento da sequência.

O erro máximo é de 1%. O consumo de memória é log(n), em que n é o número de valores.

O desempenho da função é inferior ao de quantile ou quantileTiming. Em termos da relação entre o tamanho do State e a precisão, esta função é muito melhor que quantile.

O resultado depende da ordem de execução da consulta e é não determinístico.

Ao usar várias funções quantile* com diferentes níveis em uma consulta, os estados internos não são combinados (ou seja, a consulta funciona com menos eficiência do que poderia). Nesse caso, use a função quantiles.

Sintaxe

quantileTDigestWeighted(level)(expr, weight)

Aliases: medianTDigestWeighted

Parâmetros

  • level — Opcional. Nível do quantil. Número constante de ponto flutuante de 0 a 1. Recomendamos usar um valor de level no intervalo [0.01, 0.99]. Valor padrão: 0.5. Em level=0.5, a função calcula a mediana. Float*

Argumentos

  • expr — Expressão aplicada aos valores da coluna que resulta em tipos de dados numéricos, Date ou DateTime. (U)Int* ou Float* ou Date ou DateTime
  • weight — Coluna com os pesos dos elementos da sequência. O peso é o número de ocorrências do valor. UInt*

Valor retornado

Quantil aproximado do nível especificado. Para entradas Date e DateTime, o formato de saída corresponde ao formato de entrada. Float32 ou Date ou DateTime

Exemplos

Cálculo de quantil ponderado com t-digest

SELECT quantileTDigestWeighted(number, 1) FROM numbers(10);
┌─quantileTDigestWeighted(number, 1)─┐
│                                  4 │
└────────────────────────────────────┘

Veja também

Navigation