Tutorial SQL GROUP BY dengan Klausa HAVING
SQL sebagai bahasa pemrograman database relasional punya banyak sekali operator yang dapat dimanfaatkan dalam pengolahan data. Salah satu operator yang banyak dipakai adalah SQL GROUP BY. SQL Group By biasanya digunakan untuk menggabungkan data dengan nilai yang sama dalam daftar bidang tertentu menjadi satu data. Secara umum, SQL Group By dapat dioperasikan menjadi dua cara yaitu menggabungkan data pada satu kolom dan menggabungkan data lebih dari satu kolom.
SQL Group By juga biasanya dipakai untuk fungsi agregat. Apa itu fungsi agregat dalam bahasa pemrograman SQL? Fungsi agregat adalah fungsi yang menentukan berbagai kumpulan nilai. Mulai dari jumlah, rata-rata, nilai minimum, nilai maksimum, dan lain-lain. Dalam fungsi agregat pada SQL biasanya digunakan oleh praktisi data seperti COUNT, MAX, MIN, SUM, AVERAGE dan lain-lain. Ohiya, fungsi ini diaplikasikan dalam satu kolom atau lebih.
Selain fungsi agregat, SQL Group By juga bisa dikombinasikan dengan klausa HAVING. Klausa ini digunakan untuk membatasi kelompok baris yang dikembalikan hanya kepada mereka yang kondisinya BENAR. Nah, kebetulan pada artikel kali ini, kita akan lebih membahas khusus seputar SQL GROUP BY dengan kombinasi menggunakan klausa Having. Yuk langsung aja kita sama-sama belajar bareng sahabat DQLab.
1. Persamaan Umum SQL GROUP BY
Sebelum kita membahas lebih jauh terkait operasi SQL GROUP BY bersama dengan klausa HAVING, kita samakan pemahaman terlebih dahulu dengan memahami persamaan umum atau sintaks dari SQL GROUP BY:
Berdasarkan sintaks diatas, berikut adalah keterangan dari masing-masing sintaks:
SELECT Statements……merupakan salah satu kueri atau perintah dasar pada bahasa pemrograman SQL.
GROUP BY column_name1 adalah kueri yang menunjukkan bahwa grouping alias pengelompokkan dilakukan berdasarkan kolom pertama
Selanjutnya [,column_name2,…..]” merupakan perintah opsional, dimana kolom lainnya ketika pengelompokkan tersebut dilangsungkan lebih dari satu kolom
HAVING merupakan perintah yang nantinya akan kita gunakan untuk membatasi baris ke GROUP BY. Fungsi HAVING sebenarnya mirip dengan klausa WHERE
Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula
2. Group By dengan Satu Kolom
Sekarang kita masuk ke operasi masing-masing dengan menggunakan operasi GROUP BY. Mari kita masuk ke operasinya, disini kita menggunakan data gender dengan tabel kelompok. Berikut adalah sintaks yang bisa kalian ketikkan dalam melakukan operasi GROUP BY:
Berdasarkan sintaks diatas, kita menggunakan perintah SELECT untuk menyeleksi anggota kelompok menurut jenis kelamin yaitu Laki-Laki dan Perempuan. Berikut adalah hasil output dari sintaks SELECT
Selanjutnya, kita akan memunculkan unique value pada jenis kelamin yang sudah kita ketikkan tadi diatas. Caranya kita cukup melakukan grouping sesuai perintah yang diminta dengan menggunakan sintaks sebagai berikut:
Berdasarkan sintaks diatas, kita akan melakukan pemisahan data member sesuai dengan jenis kelamin yang ada. Dilihat dari sintaks tadi maka kita sudah bisa menebak bahwa ada dua tipe gender yaitu Male (Laki-Laki) dan Female (Perempuan). Nantinya mereka akan dipisahkan sesuai data yang ada, untuk data jenis kelamin Laki-Laki maka akan diberikan kolom tersendiri. Begitu pula dengan jenis kelamin perempuan.
3. Group By dengan Lebih dari Satu Kolom
Selanjutnya kita akan menjelaskan tentang cara melakukan operasi group by dengan lebih dari satu kolom. Kalau tadi kita lebih membahas tentang group by dengan hanya satu kolom, sekarang kita coba lebih dari satu. Berikut adalah contoh dari sintaks group by menggunakan lebih dari satu kolom. Kita coba melakukan pada data list film category_id.
Berikut adalah output dari hasil sintaks diatas
Nah, bisa kalian lihat teman-teman. Disini terdapat duplikasi data pada kolom category_id bersamaan dengan tahun rilis. Sedangkan, kita inginnya cuma satu lho. Terus caranya gimana? Coba kita pakai kode lainnya dengan menggunakan query sebagai berikut:
Berikut adalah outputnya
Berdasarkan sintaks diatas, kita ingin melakukan seleksi terhadap genre, tahun rilis terhadap deretan list film. Dari sini SQL berusaha untuk menspesifikkan menjadi satu data saja. Klausa GROUP BY beroperasi pada id kategori dan tahun dirilis untuk mengidentifikasi baris unik dalam contoh di atas. Jika id kategori sama tetapi tahun rilis berbeda, maka satu baris dianggap unik. Jika id kategori dan tahun rilis sama untuk lebih dari satu baris, maka dianggap duplikat dan hanya satu baris ditampilkan.
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
4. Fungsi Aggregate dalam GROUP BY
Misalkan kita ingin menjumlahkan data pria dan wanita dalam database yang kita miliki, tenang saja kamu bisa melakukan fungsi aggregate dalam GROUP BY. Kalian bisa melakukan operasi dengan fungsi aggregate melalui sintaks berikut:
Berdasarkan sintaks berikut maka disini kita bisa menggunakan fungsi SELECT untuk menyeleksi kolom gender. Terus kita bisa melihat data jumlah pada masing-masing gender ini melalui fungsi COUNT pada kolom members. Berikut adalah hasilnya
5. Group By dengan Klausa HAVING
Fungsi GROUP BY pada satu kolom sudah, fungsi agregat juga sudah, sekarang kita masuk ke kombinasi fungsi group by dengan menggunakan klausa Having. Seperti yang sudah dijelaskan sebelumnya bahwa fungsi HAVING digunakan sebagai pengganti WHERE yang mana dipakai untuk membatasi hasil berdasarkan kriteria tertentu.
Setelah tadi diatas kita sudah menggunakan fungsi agregat yaitu COUNT untuk menjumlahkan anggota member sesuai dengan jenis kelamin, selanjutnya kita akan menggunakan fungsi HAVING untuk membatasi kriteria bahwa nilai yang akan kita munculkan yaitu movie Category id 8. Berikut adalah sintaksnya
Sesuai dengan kriteria yang diminta, berikut adalah hasilnya
Nikmati trilogi modul Fundamental SQL menarik lainnya bersama DQLab. Tidak perlu khawatir, kamu tetap bisa belajar ngoding meskipun belum familiar dengan bahasa pemrograman sekalipun. Belajar SQL adalah langkah yang tepat untuk membangun pembiasaan kamu untuk ngoding dan semakin memperkaya skill data science kamu. Yuk, Sign up sekarang untuk #MulaiBelajarData di DQLab!
Mulai bangun portfolio datamu yang outstanding dengan Data Analyst Career Track bersama DQLab dan nikmati modul-modul dari dasar hingga tingkat mahir. Caranya dengan Sign Up sekarang untuk #MulaiBelajarData di DQLab:
Buat Akun Gratis dengan Signup di DQLab.id/signup
Selesaikan modulenya, dapatkan sertifikat & reward menarik dari DQLab
Subscribe DQLab.id untuk Akses Semua Module Premium
Penulis: Reyvan Maulid