Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantileExactLow

quantileExactLow

Introduzido em: v20.8.0

Semelhante a quantileExact, calcula o quantil exato de uma sequência numérica.

Para obter o valor exato, todos os valores informados são combinados em um array, que é então totalmente ordenado. A complexidade do algoritmo de ordenação é O(N·log(N)), em que N = std::distance(first, last) comparações.

O valor de retorno depende do nível do quantil e do número de elementos na seleção; ou seja, se o nível for 0.5, a função retornará o valor mediano inferior para um número par de elementos e o valor mediano central para um número ímpar de elementos. A mediana é calculada de forma semelhante à implementação de median_low, usada em Python.

Para todos os outros níveis, retorna-se o elemento no índice correspondente ao valor de level * size_of_array.

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

quantileExactLow(level)(expr)

Aliases: medianExactLow

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

Valor retornado

Retorna o quantil do nível especificado. Para tipos de dados numéricos, o formato de saída corresponde ao formato de entrada. (U)Int* ou Float* ou Decimal* ou Date ou DateTime ou DateTime64

Exemplos

Calculando o quantil inferior exato

SELECT quantileExactLow(number) FROM numbers(10);
┌─quantileExactLow(number)─┐
│                        4 │
└──────────────────────────┘

Cálculo de um quantil específico

SELECT quantileExactLow(0.1)(number) FROM numbers(10);
┌─quantileExactLow(0.1)(number)─┐
│                             1 │
└───────────────────────────────┘
Navigation