Pular para o conteúdo principal

quantileExactExclusive

Introduzido em: v20.1.0 Semelhante a quantileExact, calcula o quantil exato de uma sequência de dados numéricos. Esta função é equivalente a quantileExact, mas usa o método exclusivo para calcular quantis, conforme descrito no método R-6. Ao usar esta função, o quantil é calculado de modo que a fórmula de interpolação para um determinado quantil p assume a forma: x[floor(n*p)] + (n*p - floor(n*p)) * (x[floor(n*p)+1] - x[floor(n*p)]), em que x é o array ordenado. Para obter o valor exato, todos os valores fornecidos são combinados em um array, que então é totalmente ordenado. A complexidade do algoritmo de ordenação é de O(N·log(N)) comparações, em que N = std::distance(first, last). 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 funciona com menos eficiência do que poderia). Nesse caso, use a função quantiles. Sintaxe
quantileExactExclusive(level)(expr)
Parâmetros
  • level — Nível do quantil. Número de ponto flutuante constante de 0 a 1 (exclusivo). Recomendamos usar um valor de level no intervalo (0.01, 0.99). Float*
Argumentos Valor retornado Retorna o quantil do nível especificado. Float64 Exemplos Cálculo do quantil exclusivo exato
Query
SELECT quantileExactExclusive(0.25)(number) FROM numbers(5);
Response
┌─quantileExactExclusive(0.25)(number)─┐
│                                  0.5 │
└──────────────────────────────────────┘
Computando múltiplos níveis de quantil
Query
SELECT quantileExactExclusive(0.1)(number), quantileExactExclusive(0.9)(number) FROM numbers(10);
Response
┌─quantileExactExclusive(0.1)(number)─┬─quantileExactExclusive(0.9)(number)─┐
│                                 0.4 │                                 8.6 │
└─────────────────────────────────────┴─────────────────────────────────────┘
Última modificação em 10 de junho de 2026