Pular para o conteúdo principal

quantiles

Introduzido em: v1.1.0 Calcula vários quantis aproximados de uma sequência de dados numéricos em diferentes níveis ao mesmo tempo. Esta função aplica amostragem por reservatório, com tamanho de reservatório de até 8192, e um gerador de números aleatórios para a amostragem. O resultado não é determinístico. Usar quantiles é mais eficiente do que chamar várias funções quantile individualmente quando você precisa de vários valores de quantil, pois todos os quantis são calculados em uma única passagem pelos dados. Sintaxe
quantiles(level1, level2, ...)(expr)
Parâmetros
  • level — Níveis dos quantis. Um ou mais números de ponto flutuante constantes entre 0 e 1. Recomendamos usar valores de level no intervalo [0.01, 0.99]. Float*
Argumentos Valor retornado Array de quantis aproximados dos níveis especificados, na mesma ordem em que foram especificados. Array(Float64) ou Array(Date) ou Array(DateTime) Exemplos Calculando vários quantis com eficiência
Query
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

SELECT quantiles(0.25, 0.5, 0.75, 0.9)(val) FROM t;
Response
┌─quantiles(0.25, 0.5, 0.75, 0.9)(val)─┐
│ [3, 5.5, 8, 9.5]                     │
└──────────────────────────────────────┘
Última modificação em 10 de junho de 2026