Mengulik SQL Group By dengan Operator NTILE()
Dalam dunia pemrosesan data, mengelompokkan data menjadi segmen-segmen berdasarkan kategori tertentu merupakan praktik yang lazim dilakukan. SQL menyediakan beberapa fungsi yang memudahkan proses ini, salah satunya adalah GROUP BY, yang bekerja dengan mengelompokkan data berdasarkan kolom tertentu.
Namun, ada kalanya kita ingin membagi hasil grup tersebut menjadi beberapa bagian yang lebih kecil untuk mendapatkan analisis lebih mendalam. Operator NTILE() adalah solusi yang tepat untuk keperluan ini.
Fungsi NTILE() pada SQL mengelompokkan data ke dalam kelompok yang kira-kira sama seperti klausa SQL “GROUP BY. Artikel ini akan membahas cara menggunakan operator NTILE() bersama dengan GROUP BY, termasuk skenario di mana kombinasi kedua operator ini sangat berguna. Simak penjelasannya yuk sahabat DQLab!
1. Apa itu Fungsi NTILE()
NTILE() adalah fungsi analitik dalam SQL yang digunakan untuk membagi data ke dalam sejumlah grup atau bagian yang ditentukan. Fungsi ini biasanya digunakan untuk membagi data menjadi kuantil, persentil, atau bahkan bagian khusus lainnya. NTILE() berguna saat kita ingin memahami pola atau distribusi data secara lebih mendetail dalam kelompok yang relatif kecil.
Baca juga : Bootcamp Data Analyst with SQL and Python
2. Sintaks Fungsi NTILE()
Berikut adalah sintaks dasar dari fungsi NTILE()
Penggunaan ...di bawah ini dimaksudkan untuk menunjukkan kode yang ditempatkan sebelum atau setelah klausa NTILE(). Bagian tersebut bukanlah bagian dari sintaks sebenarnya. Angka harus ditulis di dalam tanda kurung.
Menggunakan klausa ORDER BY dan PARTITION BY adalah ide yang baik untuk meningkatkan keteraturan data. Klausa ORDER BY dalam SQL memungkinkan hasil kueri ditampilkan dalam urutan naik atau turun, yang dapat ditentukan dengan ASC atau DESC secara berurutan.
3. Contoh Penerapan Fungsi NTILE()
Misalkan, disediakan ada tabel “basketball_points” yang 10 baris pertamanya terlihat seperti ini:
Lalu, dari tabel tersebut, kita diminta untuk mengelompokkan ke cakupan yang lebih kecil. Dengan begitu, rasanya akan sangat pas jika menggunakan operator NTILE() sebagai salah satu solusinya. Nantinya, seorang database admin akan menjalankan kueri NTILE sehingga pemain yang berbeda dan poin mereka dapat dilihat sepanjang minggu. Berikut adalah sintaks yang digunakan
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
4. Output Fungsi NTILE()
Menjalankan kueri berikut akan menampilkan data dari tabel “basketball_points” yang terbagi secara kasar menjadi 4 grup. Data tersebut dipisahkan berdasarkan minggu, yang berarti hasilnya akan menunjukkan setiap minggu sebagai satu kelompok berkelanjutan.
Setiap minggu diurutkan berdasarkan kolom total_points dalam urutan menurun. Kemudian, hasil dari operasi “ntile” disimpan dalam kolom baru bernama “quartile”. Kolom ini menunjukkan posisi pemain dalam salah satu dari empat kuartil berdasarkan jumlah poin yang dicetak untuk minggu tersebut.
Terakhir, kolom “player”, “week”, dan “total_points” dipilih. Baris terakhir dari kueri menambahkan kondisi “LIMIT” sehingga hanya 10 baris pertama yang ditampilkan. Berikut adalah output dari hasil pengelompokkan menggunakan fungsi NTILE()
Menggabungkan GROUP BY dengan operator NTILE() dalam SQL memungkinkan kita untuk melakukan analisis data yang lebih granular, terutama dalam skenario pembagian data ke dalam segmen-segmen yang lebih kecil di dalam setiap grup. Hal ini dapat membantu dalam pengambilan keputusan yang lebih baik berdasarkan distribusi data dalam setiap kategori.
DQLab merupakan suatu platform belajar online yang berfokus pada pengenalan Data Science & Artificial Intelligence (AI) dengan menggunakan berbagai bahasa pemrograman populer. Selain itu DQLab merupakan platform edukasi pertama yang mengintegrasi fitur ChatGPT.
DQLab juga menggunakan metode HERO, yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. Untuk bisa merasakan pengalaman belajar yang praktis & aplikatif yuk langsung saja sign up di DQLab.id dan ikuti DQLab LiveClass Bootcamp Data Analyst with SQL and Python sekarang!
Penulis: Reyvan Maulid