Aggregate

PERCENTILE_DISC

SnowflakeSnowflake

Menghitung percentile discrete dari nilai. Hasilnya adalah nilai aktual yang ada di dataset, bukan interpolasi.

Tipe hasil: Same as input typeDiperbarui: 6 Jan 2026

Syntax

SQL
PERCENTILE_DISC(percentile) WITHIN GROUP (ORDER BY expression)

Parameter

percentileFLOATwajib

Nilai percentile antara 0 dan 1

expressionany comparablewajib

Kolom yang akan dihitung percentilenya

Contoh Penggunaan

Median Rating (Nilai Aktual)

SQL
1SELECT
2 PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY rating) as median_rating
3FROM reviews;

Menghitung median rating. Hasilnya adalah nilai rating yang ada (misal: 4, bukan 4.3).

Hasil
4

Perbandingan CONT vs DISC

SQL
1SELECT
2 PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY price) as p50_cont,
3 PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY price) as p50_disc
4FROM products;

CONT bisa menghasilkan 150.50, DISC menghasilkan nilai yang benar-benar ada (150 atau 151).

Hasil
P50_CONTP50_DISC
150.50150

Percentile untuk Date

SQL
1SELECT
2 PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY signup_date) as median_signup_date
3FROM users
4WHERE signup_date >= '2024-01-01';

PERCENTILE_DISC bisa digunakan untuk date (PERCENTILE_CONT tidak bisa).

Hasil
2024-03-15