quantile
Introduced in: v1.1.0
Calcula um quantile aproximado de uma sequência de dados numéricos.
Esta função aplica sampling por reservatório com um reservatório de até 8192 e um gerador de números aleatórios para a amostragem.
O resultado não é determinístico.
Para obter um quantile exato, use a função quantileExact.
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 é executada com menos eficiência do que poderia).
Nesse caso, use a função quantiles.
Observe que, para uma sequência numérica vazia, quantile retornará NaN, mas suas variantes quantile* retornarão NaN ou um valor padrão para o tipo da sequência, dependendo da variante.
Sintaxe
quantile(level)(expr)Aliases: median
Parâmetros
level— Opcional. Nível do quantile. Número de ponto flutuante constante de 0 a 1. Recomendamos usar um valor delevelno intervalo[0.01, 0.99]. Valor padrão: 0.5. Emlevel=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,DateTimeouDateTime64.(U)Int*ouInt128ouUInt128ouInt256ouUInt256ouFloat*ouDecimal*ouDateouDateTimeouDateTime64
Valor retornado
Quantile aproximado do nível especificado. Argumentos numéricos produzem Float64, enquanto argumentos Decimal, Date, DateTime e DateTime64 mantêm seu formato de entrada. Float64 ou Decimal* ou Date ou DateTime ou DateTime64
Exemplos
Cálculo do quantile
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);
SELECT quantile(val) FROM t;┌─quantile(val)─┐
│ 1.5 │
└───────────────┘Veja também