Pular para o conteúdo

Função de agregação.

A função QUANTILE_DISC() calcula o quantil exato de uma sequência de dados numéricos. QUANTILE é um alias de QUANTILE_DISC.

func.quantile_disc(<levels>, <expr>)
func.quantile_disc([0.25, 0.75], table.salary).alias('salary_quantiles')
| salary_quantiles |
|---------------------|
| [55000.0, 65000.0] |
QUANTILE_DISC(<levels>)(<expr>)
QUANTILE_DISC(level1, level2, ...)(<expr>)
Argumentos Descrição
level(s) Nível(is) do quantil. Cada nível é um número de ponto flutuante constante de 0 a 1. Recomendamos usar um valor de nível no intervalo [0.01, 0.99]
<expr> Qualquer expressão numérica

InputType ou array de InputType, de acordo com o número de níveis.

Criar uma tabela e inserir dados de exemplo

CREATE TABLE salary_data (
id INT,
employee_id INT,
salary FLOAT
);
INSERT INTO salary_data (id, employee_id, salary)
VALUES (1, 1, 50000),
(2, 2, 55000),
(3, 3, 60000),
(4, 4, 65000),
(5, 5, 70000);

Demonstração de consulta: calcular os percentis 25 e 75 dos salários

SELECT QUANTILE_DISC(0.25, 0.75)(salary) AS salary_quantiles
FROM salary_data;

Resultado

| salary_quantiles |
|---------------------|
| [55000.0, 65000.0] |