Pular para o conteúdo principal

quantileExactWeighted

Introduzido em: v1.1.0 Calcula exatamente o quantil de uma sequência de dados numéricos, levando em consideração o peso de cada elemento. Para obter o valor exato, todos os valores fornecidos são combinados em um array, que é então parcialmente ordenado. Cada valor é contabilizado com seu peso, como se estivesse presente weight vezes. Uma tabela hash é usada no algoritmo. Por isso, se os valores fornecidos se repetirem com frequência, a função consome menos RAM do que quantileExact. Você pode usar esta função em vez de quantileExact e especificar o peso como 1. 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
quantileExactWeighted(level)(expr, weight)
Aliases: medianExactWeighted Parâmetros
  • level — Opcional. Nível do quantil. Número de ponto flutuante constante de 0 a 1. Recomendamos usar um valor de level no intervalo de [0.01, 0.99]. Valor padrão: 0.5. Em level=0.5, a função calcula a mediana. Float*
Argumentos
  • expr — Expressão sobre os valores da coluna que resulta em tipos de dados numéricos, Date ou DateTime. (U)Int* ou Float* ou Decimal* ou Date ou DateTime
  • weight — Coluna com os pesos dos elementos da sequência. O peso é o número de ocorrências de um valor. UInt*
Valor retornado Quantil no nível especificado. Float64 ou Date ou DateTime Exemplos Cálculo do quantil ponderado exato
Query
CREATE TABLE t (
    n Int32,
    val Int32
) ENGINE = Memory;

-- Inserir os dados de exemplo
INSERT INTO t VALUES
(0, 3),
(1, 2),
(2, 1),
(5, 4);

SELECT quantileExactWeighted(n, val) FROM t;
Response
┌─quantileExactWeighted(n, val)─┐
│                             1 │
└───────────────────────────────┘
Veja também
Última modificação em 10 de junho de 2026