Przejdź do głównej zawartości

Funkcja agregująca.

Funkcja QUANTILE_CONT() oblicza interpolowaną wartość kwantyla ciągu danych liczbowych.

func.quantile_cont(<levels>, <expr>)
func.quantile_cont(0.5, table.sales_amount).alias('median_sales_amount')
| median_sales_amount |
|-----------------------|
| 6000.0 |
QUANTILE_CONT(<levels>)(<expr>)
QUANTILE_CONT(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

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

Tworzenie tabeli i wstawianie przykładowych danych

CREATE TABLE sales_data (
id INT,
sales_person_id INT,
sales_amount FLOAT
);
INSERT INTO sales_data (id, sales_person_id, sales_amount)
VALUES (1, 1, 5000),
(2, 2, 5500),
(3, 3, 6000),
(4, 4, 6500),
(5, 5, 7000);

Przykład zapytania: obliczenie 50. percentyla (mediany) kwoty sprzedaży z użyciem interpolacji

SELECT QUANTILE_CONT(0.5)(sales_amount) AS median_sales_amount
FROM sales_data;

Wynik

| median_sales_amount |
|-----------------------|
| 6000.0 |