Belajar SQL Group By untuk Multiple Columns
SQL sangat membantu dalam pengolahan database terutama untuk mendapatkan data tertentu secara ringkas tapi efektif dan efisien. Dalam membantu proses ini, SQL dilengkapi dengan banyak klausa. Salah satunya adalah Group By. Klausa ini berfungsi untuk mengelompokkan data dalam kategori atau nilai yang sama. Ini sering digunakan oleh praktisi data terlebih untuk kebutuhan pembuatan laporan.
SQL Group By memiliki 2 jenis yaitu single column dan multiple columns. Masing-masing memberikan output yang berbeda dan membutuhkan bentuk query yang berbeda pula. Nah, kali ini kalian akan mendalami sekaligus dengan tutorialnya dalam menyelesaikan permasalahan sederhana. Yuk, simak dan praktikkan tutorial di bawah ini!
1. Konsep SQL Group By
Klausa SQL GROUP BY digunakan dengan pernyataan SELECT untuk mengatur data yang identik ke dalam grup. Klausa GROUP BY ini mengikuti klausa WHERE dalam pernyataan SELECT dan didahulukan dari klausa ORDER BY. Beberapa hal penting yang perlu dicatat terkait dengan SQL GROUP BY:
Klausa SQL GROUP BY ini digunakan dengan SELECT statement.
Di dalam klausa SQL query GROUP BY ditempatkan setelah klausa WHERE.
Di dalam klausa SQL query GROUP BY ditempatkan sebelum klausa ORDER BY jika digunakan.
Berikut ilustrasi mudah yang akan membantu kalian memahami fungsi GROUP BY.
Andaikan kalian memiliki data seperti tabel sebelum panah. Kemudian kalian ingin mengelompokkan data berdasarkan abjadnya, maka hasil GROUP BY nantinya akan seperti 3 tabel di bawah panah. Klausa GROUP BY dapat menghasilkan single column atau multiple columns. Detail penggunaan pada masing-masing kondisi bisa disimak pada pembahasan selanjutnya.
Baca juga : Bootcamp Data Analyst with SQL and Python
2. SQL Group By untuk Single Column
Untuk menyusun data serupa (identik) ke dalam grup, kalian bisa menggunakan klausa SQL GROUP BY. Klausa SQL GROUP BY digunakan bersama dengan beberapa fungsi agregat untuk mengelompokkan kolom yang memiliki nilai yang sama di baris yang berbeda.
Kalian bisa menggunakan klausa GROUP BY dengan pernyataan SELECT, klausa WHERE, dan klausa ORDER BY. Penggunaan GROUP BY dengan hasil single column menempatkan semua catatan (baris) yang memiliki nilai yang sama hanya dari kolom tertentu ke dalam satu grup.
Sintaks SQL GROUP BY dengan hasil single column adalah sebagai berikut.
Agar lebih mudah, kita akan mencoba menyelesaikan kasus sederhana. Misalkan kita sedang mengerjakan database perusahaan. Terdapat dua tabel, yaitu karyawan dan departemen. Tabel karyawan memiliki tiga kolom, yaitu employee_ID, salary, dan department_ID. Tabel departemen memiliki dua kolom, yaitu department_ID dan department_name. Mari kita coba mengelompokkan karyawan yang ada di tabel karyawan berdasarkan department_ID mereka.
Di bawah ini tabel karyawan.
Sedangkan di bawah ini tabel departemen.
Ketikkan query di bawah ini untuk mengelompokkan karyawan berdasarkan department_ID.
Dari query di atas, kita ingin output yang dihasilkan adalah kolom dengan total gaji dari karyawan di masing-masing departemen dan ID departemen. Sehingga output yang dihasilkan seperti berikut.
3. SQL Group By untuk Multiple Columns
Teknik pengelompokan dengan beberapa kolom mengambil nilai kolom yang dikelompokkan dari satu atau lebih tabel database dengan mempertimbangkan lebih dari satu kolom sebagai kriteria pengelompokan. Pengelompokan berdasarkan beberapa kolom digunakan untuk mengelompokkan berbagai record dengan nilai yang serupa (atau sama) untuk kolom yang ditentukan.
Setiap kali kalian melakukan pengelompokan dengan beberapa kolom (pengelompokan ditentukan pada banyak kolom), maka semua nilai kolom tersebut harus sama dengan kolom lain untuk mempertimbangkannya untuk dikelompokkan ke dalam satu catatan.
Sintaks penggunaan SQL GROUP dengan multiple columns adalah sebagai berikut.
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
Dalam sintaks di atas, pertama-tama kita memberikan nama kolom (column_1, column_2,..., column_n) dari tabel yang ingin kita ambil hasilnya. Setelah kolom, selanjutnya memberikan nama tabel yang ditargetkan (tabel dari mana hasilnya akan diambil). Terakhir, kalian dapat memberikan beberapa kondisi pada kolom tertentu menggunakan klausa WHERE.
Kita gunakan kembali contoh database sebelumnya.
Di bawah ini tabel karyawan:
Sedangkan di bawah ini tabel departemen:
Mari kita coba mencari gaji rata-rata karyawan di setiap departemen. Coba ketikkan query di bawah ini:
Kalian akan mendapatkan hasil output seperti berikut ini:
4. Kegunaan SQL Group By dengan Multiple Columns
Berikut sejumlah kegunaan dan manfaat penggunaan SQL Group By dengan hasil multiple columns.
Kita dapat menggunakan teknik ini untuk mengelompokkan beberapa record menjadi satu record.
Semua catatan dengan nilai yang sama untuk masing-masing kolom yang disebutkan dalam kriteria pengelompokan dapat dikelompokkan sebagai satu kolom.
Pengelompokan dengan multiple columns digunakan untuk mendapatkan data ringkasan dari tabel database.
Pengelompokan dengan beberapa kolom sering digunakan untuk membuat laporan.
Penjelasan di atas hanya memberikan gambaran umum tentang fungsi Group By dengan kasus yang sangat sederhana. Sedangkan secara praktik di dunia kerja, Group By banyak digunakan dengan bentuk database yang lebih kompleks. Agar terbiasa, tentunya kalian harus sering praktik dengan bervariasi studi kasus bukan? DQLab adalah platform belajar yang bisa kalian andalkan.
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 Sign Up dan asah kemampuan kalian dalam menggunakan SQL atau ikuti Bootcamp Data Analyst with SQL and Python!
Penulis : Dita Feby
Editor : Annissa Widya