Pular para o conteúdo principal

quantileDeterministic

Introduzido em: v1.1.0 Calcula um quantil aproximado de uma sequência de dados numéricos. Esta função aplica amostragem por reservatório com um reservatório de tamanho até 8192 e um algoritmo de amostragem determinístico. O resultado é determinístico. Para obter um quantil exato, use a função quantileExact. Ao usar várias funções quantile* com níveis diferentes em uma consulta, os estados internos não são combinados (ou seja, a consulta é executada com menos eficiência do que poderia). Nesse caso, use a função quantiles. Sintaxe
quantileDeterministic(level)(expr, determinator)
Aliases: medianDeterministic 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 [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
  • 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. Como determinador, você pode usar qualquer número positivo determinístico, por exemplo, um ID de usuário ou um ID de evento. Se o mesmo valor de determinador ocorrer com muita frequência, a função funcionará incorretamente. (U)Int*
Valor retornado Retorna um quantil aproximado do nível especificado. Float64 ou Date ou DateTime Exemplos Calculando quantil determinístico
Query
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

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