KEJUTAN PAYDAY - DISKON 98%
Belajar Data Bersertifikat 12 Bulan hanya 180K!
0 Hari 3 Jam 30 Menit 23 Detik

Tutorial SQL GROUP BY dengan Klausa HAVING

Belajar Data Science di Rumah 25-Januari-2023
https://dqlab.id/files/dqlab/cache/dc13c83a7e0105ef6055055d867d19d9_x_Thumbnail800.jpeg
Follow Instagram dan LinkedIn kami untuk info karir dan topik menarik

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:

SQL

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:

SQL

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

SQL

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:

SQL

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.

SQL

Berikut adalah output dari hasil sintaks diatas

SQL

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:

SQL

Berikut adalah outputnya

SQL

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:

SQL

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

SQL


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

https://lh3.googleusercontent.com/tJuWo3RWIkfhbwxmveGQAENpCu9fEilQEXjXxO-pH8ecX-1YFNA3e64k-DL5FRle_tmDDImiOdp8Lr97moQ50KB-1ITe-hEQ1ymH7xGT_UzE7vNMn_UzRTF5yQ0-YBV3YQ4QzN3hJqbeojV4VQGc0oU

Sesuai dengan kriteria yang diminta, berikut adalah hasilnya

SQL


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

Mulai Belajar
SQL Sekarang
Bersama DQLab

Buat Akun Belajar & Mulai Langkah
Kecilmu Mengenal SQL

Buat Akun


Atau

Sudah punya akun? Login