Window

NTILE

DuckDBDuckDB

Membagi baris menjadi n kelompok (buckets) yang kurang lebih sama besar dan memberikan nomor kelompok ke setiap baris.

Tipe hasil: BIGINTDiperbarui: 16 Mei 2026

Syntax

SQL
NTILE(n) OVER ([PARTITION BY col] ORDER BY col)

Parameter

nINTEGERwajib

Jumlah kelompok yang diinginkan

ORDER BYclausewajib

Menentukan urutan pembagian kelompok

PARTITION BYclauseopsional

Opsional. Membagi hasil menjadi partisi terpisah

Contoh Penggunaan

Membagi ke 4 Kelompok (Quartiles)

SQL
1SELECT
2 name,
3 salary,
4 NTILE(4) OVER (ORDER BY salary) as quartile
5FROM employees;

Membagi karyawan ke 4 kelompok berdasarkan gaji.

Hasil
namesalaryquartile
Ani50000001
Budi70000001
Citra100000002
Deni120000002
... 4 baris lainnya

Membuat Deciles untuk Analisis

SQL
1SELECT
2 customer_id,
3 total_spending,
4 NTILE(10) OVER (ORDER BY total_spending DESC) as spending_decile
5FROM customer_spending;

Membagi customer ke 10 kelompok berdasarkan spending.

Quartiles per Kategori

SQL
1SELECT
2 category,
3 product_name,
4 price,
5 NTILE(4) OVER (PARTITION BY category ORDER BY price) as price_quartile
6FROM products;

Membuat quartiles harga untuk setiap kategori produk.

Identifikasi Top 10%

SQL
1SELECT *
2FROM (
3 SELECT
4 *,
5 NTILE(10) OVER (ORDER BY score DESC) as decile
6 FROM students
7) sub
8WHERE decile = 1;

Mengambil 10% siswa dengan score tertinggi.

Pertanyaan Umum tentang NTILE

Apa itu fungsi NTILE di DuckDB?
Membagi baris menjadi n kelompok (buckets) yang kurang lebih sama besar dan memberikan nomor kelompok ke setiap baris. Di DuckDB, fungsi NTILE termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan NTILE di DuckDB?
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 kelompok yang diinginkan; PARTITION BY (clause, opsional): Opsional. Membagi hasil menjadi partisi terpisah; ORDER BY (clause, wajib): Menentukan urutan pembagian kelompok.