Window
PostgreSQL
NTILE
Membagi data menjadi n bucket/grup dengan jumlah anggota seimbang. Berguna untuk analisis quartile, percentile, dan segmentasi data.
Tipe hasil:
integerDiperbarui: 16 Mei 2026Syntax
SQL
NTILE(num_buckets) OVER (
[PARTITION BY partition_expression]
ORDER BY sort_expression
)Parameter
num_bucketsintegerwajib
Jumlah bucket/grup yang diinginkan
ORDER BYexpressionwajib
Menentukan urutan pembagian
PARTITION BYexpressionopsional
Membagi data menjadi grup terpisah
Contoh Penggunaan
Membagi ke Quartile
SQL
1 SELECT 2 name, 3 salary, 4 NTILE(4) OVER (ORDER BY salary) AS quartile 5 FROM employees;
Membagi karyawan ke 4 quartile berdasarkan gaji.
Hasil
| name | salary | quartile |
|---|---|---|
| Andi | 5000000 | 1 |
| Budi | 7000000 | 1 |
| Citra | 9000000 | 2 |
| Dewi | 12000000 | 3 |
| ... 1 baris lainnya | ||
Segmentasi Customer
SQL
1 SELECT 2 customer_id, 3 total_purchases, 4 CASE NTILE(3) OVER (ORDER BY total_purchases DESC) 5 WHEN 1 THEN Gold 6 WHEN 2 THEN Silver 7 WHEN 3 THEN Bronze 8 END AS tier 9 FROM customer_stats;
Membuat tier customer berdasarkan pembelian.
Hasil
| customer_id | total_purchases | tier |
|---|---|---|
| 101 | 10000000 | Gold |
| 102 | 5000000 | Silver |
| 103 | 1000000 | Bronze |
Decile Analysis
SQL
1 SELECT 2 NTILE(10) OVER (ORDER BY score) AS decile, 3 MIN(score) AS min_score, 4 MAX(score) AS max_score, 5 COUNT(*) AS count 6 FROM test_results 7 GROUP BY decile 8 ORDER BY decile;
Analisis distribusi skor per decile (10 grup).
Pertanyaan Umum tentang NTILE
Apa itu fungsi NTILE di PostgreSQL?
Membagi data menjadi n bucket/grup dengan jumlah anggota seimbang. Berguna untuk analisis quartile, percentile, dan segmentasi data. Di PostgreSQL, fungsi NTILE termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan NTILE di PostgreSQL?
Gunakan sintaks berikut: NTILE(num_buckets) OVER (
[PARTITION BY partition_expression]
ORDER BY sort_expression
). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi NTILE?
Fungsi NTILE mengembalikan nilai bertipe integer. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi NTILE?
Fungsi ini memiliki 2 parameter wajib dan 1 parameter opsional. Parameter yang digunakan: num_buckets (integer, wajib): Jumlah bucket/grup yang diinginkan; PARTITION BY (expression, opsional): Membagi data menjadi grup terpisah; ORDER BY (expression, wajib): Menentukan urutan pembagian.