Membagi data menjadi n bucket/grup dengan jumlah anggota seimbang. Berguna untuk analisis quartile, percentile, dan segmentasi data.
integerDiperbarui: 13 Jun 2026NTILE(num_buckets) OVER (
[PARTITION BY partition_expression]
ORDER BY sort_expression
)Jumlah bucket/grup yang diinginkan
Menentukan urutan pembagian
Membagi data menjadi grup terpisah
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.
| name | salary | quartile |
|---|---|---|
| Andi | 5000000 | 1 |
| Budi | 7000000 | 1 |
| Citra | 9000000 | 2 |
| Dewi | 12000000 | 3 |
| ... 1 baris lainnya | ||
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.
| customer_id | total_purchases | tier |
|---|---|---|
| 101 | 10000000 | Gold |
| 102 | 5000000 | Silver |
| 103 | 1000000 | Bronze |
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).
Sudah paham NTILE? Latih langsung di browser
Latihan interaktif, langsung di browser.
DENSE_RANK