Window
MySQL
NTILE
Membagi baris menjadi n bucket dengan ukuran seimbang. Mengembalikan nomor bucket (1 sampai n).
Tipe hasil:
BIGINTDiperbarui: 7 Jan 2026Syntax
SQL
NTILE(n) OVER ([PARTITION BY col] ORDER BY col)Parameter
nintegerwajib
Jumlah bucket yang diinginkan
ORDER BYcolumn(s)wajib
Kolom untuk menentukan urutan pembagian
PARTITION BYcolumn(s)opsional
Kolom untuk membagi data menjadi grup (opsional)
Contoh Penggunaan
Kuartil
SQL
1 SELECT name, salary, 2 NTILE(4) OVER (ORDER BY salary) AS quartile 3 FROM employees;
Membagi karyawan ke 4 kuartil gaji.
Hasil
(employees in 4 quartiles)
Desil
SQL
1 SELECT product, revenue, 2 NTILE(10) OVER (ORDER BY revenue DESC) AS decile 3 FROM products;
Membagi produk ke 10 desil berdasarkan revenue.
Hasil
(products in 10 deciles)
Segmentasi Customer
SQL
1 SELECT customer_id, total_purchase, 2 CASE NTILE(3) OVER (ORDER BY total_purchase DESC) 3 WHEN 1 THEN 'High Value' 4 WHEN 2 THEN 'Medium Value' 5 WHEN 3 THEN 'Low Value' 6 END AS segment 7 FROM customers;
Segmentasi customer berdasarkan pembelian.
Hasil
(customers segmented by value)