Window

NTILE

MySQLMySQL

Membagi baris menjadi n bucket dengan ukuran seimbang. Mengembalikan nomor bucket (1 sampai n).

Tipe hasil: BIGINTDiperbarui: 16 Mei 2026

Syntax

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
1SELECT name, salary,
2 NTILE(4) OVER (ORDER BY salary) AS quartile
3FROM employees;

Membagi karyawan ke 4 kuartil gaji.

Hasil
(employees in 4 quartiles)

Desil

SQL
1SELECT product, revenue,
2 NTILE(10) OVER (ORDER BY revenue DESC) AS decile
3FROM products;

Membagi produk ke 10 desil berdasarkan revenue.

Hasil
(products in 10 deciles)

Segmentasi Customer

SQL
1SELECT 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
7FROM customers;

Segmentasi customer berdasarkan pembelian.

Hasil
(customers segmented by value)

Pertanyaan Umum tentang NTILE

Apa itu fungsi NTILE di MySQL?
Membagi baris menjadi n bucket dengan ukuran seimbang. Mengembalikan nomor bucket (1 sampai n). Di MySQL, fungsi NTILE termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan NTILE di MySQL?
Gunakan sintaks berikut: NTILE(n) OVER ([PARTITION BY col] ORDER BY col). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi NTILE?
Fungsi NTILE mengembalikan nilai bertipe BIGINT. 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: n (integer, wajib): Jumlah bucket yang diinginkan; PARTITION BY (column(s), opsional): Kolom untuk membagi data menjadi grup (opsional); ORDER BY (column(s), wajib): Kolom untuk menentukan urutan pembagian.