Przejdź do głównej zawartości

Funkcja agregująca.

Funkcja QUANTILE_DISC() oblicza dokładną wartość kwantyla ciągu danych liczbowych. QUANTILE jest aliasem funkcji 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>)
Argumenty Opis
level(s) Poziom(y) kwantyla. Każdy poziom jest stałą liczbą zmiennoprzecinkową od 0 do 1. Zalecamy używanie wartości poziomu z zakresu [0.01, 0.99]
<expr> Dowolne wyrażenie liczbowe

InputType lub tablica InputType, zależnie od liczby poziomów.

Tworzenie tabeli i wstawianie przykładowych danych

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);

Przykład zapytania: obliczenie 25. i 75. percentyla wynagrodzeń

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

Wynik

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