Ini Tutorial Penggunaan SQL Group By dan Having
SQL memiliki sejumlah klausa yang beragam sehingga sangat membantu praktisi data untuk menganalisis data menjadi insight yang dapat digunakan untuk mengambil keputusan-keputusan strategis. Salah satu klausa yang umum digunakan adalah GROUP BY. Secara sederhana, klausa ini akan membantu kalian untuk mengelompokkan data berdasarkan nilai tertentu yang telah ditentukan sebelumnya.
Selain dapat digunakan sendiri, SQL GROUP BY juga bisa dikombinasikan dengan klausa lainnya agar output yang dihasilkan lebih spesifik dan sesuai kebutuhan. Misalnya dengan HAVING untuk memfilter output dari hasil agregasi tertentu. Supaya lebih paham bagaimana kombinasi kedua klausa ini bekerja, yuk langsung simak pembahasan berikut ini!
1. Apa itu SQL Group By
SQL Group By merupakan salah satu klausa yang digunakan dalam perintah SQL untuk mengelompokkan baris data berdasarkan nilai-nilai tertentu dalam satu atau beberapa kolom. Saat menggunakan SQL Group By, kalian dapat mengelompokkan data berdasarkan satu kolom atau kombinasi kolom yang memungkinkan kalian melakukan agregasi, seperti penghitungan jumlah, rata-rata, minimum, atau maksimum, untuk setiap kelompok data yang dihasilkan.
Misalnya, kalian memiliki tabel data penjualan yang mencakup informasi tentang produk, jumlah terjual, dan tanggal penjualan. Kalian dapat menggunakan SQL Group By untuk mengelompokkan data berdasarkan produk atau tanggal penjualan. Langkah ini mampu memberikan kalian ringkasan yang jelas tentang kinerja penjualan untuk setiap produk atau setiap tanggal tertentu, sekaligus untuk melihat tren atau pola yang mungkin ada dalam data penjualan.
Baca juga : Bootcamp Data Analyst with SQL and Python
2. Mengenal Klausa Having pada SQL
Klausa HAVING pada SQL sering digunakan bersama dengan klausa GROUP BY untuk memberikan filter tambahan terhadap hasil agregasi. Dengan HAVING kalian bisa menentukan kriteria filter untuk kelompok hasil agregasi, sehingga hanya kelompok yang memenuhi syarat yang akan disertakan dalam hasil kueri akhir.
Sebagai contoh, jika kalian memiliki tabel data penjualan yang mencakup informasi tentang produk, jumlah terjual, dan tanggal penjualan, kalian dapat menggunakan GROUP BY untuk mengelompokkan data berdasarkan produk dan kemudian menggunakan HAVING untuk mengekstrak hanya produk yang memiliki jumlah penjualan di atas nilai tertentu. Dengan menggunakan HAVING, kita dapat dengan mudah menyaring output agar hanya mencakup data yang dibutuhkan.
3. Penggunaan SQL Group By dan Having
Nah, untuk memahami kombinasi dari penggunaan GROUP BY dan HAVING, perhatikan skenario berikut ini. Misalkan kalian memiliki tabel "Penjualan" dengan kolom-kolom seperti "NamaProduk," "JumlahTerjual," dan "TanggalPenjualan." Kalian akan menghitung total penjualan untuk setiap produk dan hanya menyertakan produk yang memiliki total penjualan di atas 100 unit.
Untuk itu, kalian bisa menggunakan GROUP BY dan HAVING sehingga menghasilkan output yang sesuai dengan tujuan tersebut. Coba ketikkan query berikut ini.
Pertama, kita menggunakan GROUP BY untuk mengelompokkan data berdasarkan "NamaProduk" dan menghitung total penjualan untuk setiap produk dengan SUM(JumlahTerjual). Setelah itu, dengan menggunakan HAVING, kita memfilter hasil agar hanya mencakup produk dengan total penjualan di atas 100 unit. Dengan demikian, output hanya akan menyertakan produk "Celana" dan "Topi," karena keduanya memiliki total penjualan yang memenuhi syarat.
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
4. Kombinasi Lain dari SQL Group By
Selain dengan HAVING, kalian juga bisa mengombinasikan GROUP BY dengan klausa ORDER BY. Saat kalian menggunakan GROUP BY, kalian mengelompokkan baris data berdasarkan nilai-nilai tertentu dalam satu atau beberapa kolom. Setelah pengelompokan dilakukan, kalian dapat menggunakan ORDER BY untuk mengurutkan hasilnya berdasarkan kolom tertentu. Perhatikan contoh berikut ini.
Dalam contoh ini, data penjualan dikelompokkan berdasarkan produk menggunakan GROUP BY NamaProduk. Setelah itu, hasilnya diurutkan secara menurun (DESC) berdasarkan jumlah transaksi untuk setiap produk menggunakan ORDER BY JumlahTransaksi. Sebagai hasilnya, produk dengan jumlah transaksi tertinggi akan muncul pertama.
Selain fungsi Group By, SQL juga memiliki fungsi lain yang lebih kompleks yang bisa digunakan untuk analisis data. Dengan memahami secara mendalam, tentu akan memudahkan kalian dalam mendapatkan informasi yang lebih kaya dan bermanfaat untuk menyimpulkan suatu data yang dimiliki.
Bingung mulai belajar darimana? DQLab adalah jawabannya. Modul ajarnya lengkap dan bervariasi. Dilengkapi studi kasus yang membantu kalian belajar memecahkan masalah dari berbagai industri. Bahkan diintegrasikan dengan ChatGPT. Manfaatnya apa?
Membantu kalian menjelaskan lebih detail code yang sedang dipelajari
Membantu menemukan code yang salah atau tidak sesuai
Memberikan solusi atas problem yang dihadapi pada code
Membantu kalian belajar kapanpun dan dimanapun
Selain itu, DQLab juga menggunakan metode HERO yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. Tunggu apa lagi, segera ikuti DQLab LiveClass Bootcamp Data Analyst with SQL & Python dan asah kemampuan kalian dalam menggunakan SQL!