Kenali SQL GROUP BY untuk Sederhanakan Proses Pengolahan Data

SQL (Structured Query Language) menjadi salah satu bahasa favorit banyak orang, khususnya praktisi data untuk melakukan berbagai pekerjaan yang berhubungan dengan database. Data adalah hal yang sangat penting untuk dijadikan dasar dalam pembuatan keputusan.
Umumnya setiap perusahaan pasti akan menyimpan datanya dalam bentuk database. Dengan memanfaatkan query DDL (Data Definition Language) dan DML (Data Manipulation Language) pada SQL, maka kita dapat dengan mudah untuk mengeksplor data yang ada.
Dalam SQL ada banyak sekali statement dan fungsi yang bisa dimanfaatkan untuk melakukan eksplorasi sehingga bisa menjawab pertanyaan bisnis yang ada. Misalkan saja kita memiliki penjualan selama bertahun-tahun dari berbagai provinsi, untuk bisa mendapatkan insight nya, tentu kita harus mengelompokkannya terlebih dahulu.
Nah proses pengelompokan tersebut bisa dilakukan dengan menggunakan statement GROUP BY yang akan dibahas dalam artikel ini. Penasaran kan? Yuk, simak pembahasannya!
1. GROUP BY
GROUP BY statement merupakan cara yang bisa digunakan untuk mengelompokkan data, dimana data yang bernilai sama akan disatukan ke dalam satu kelompok. Kita juga bisa menggunakan fungsi aggregate seperti MIN, MAX, AVG, dll untuk melakukan agregasi terhadap kelompok yang ada.
Secara umum, syntax yang bisa digunakan untuk GROUP BY adalah:
Tentunya kita bisa menggunakan GROUP BY ini dengan memperhatikan beberapa hal:
Jika penggunaan GROUP BY disandingkan dengan SELECT, maka kolom yang digunakan pada GROUP BY statement juga harus masuk pada kolom yang di SELECT.
Jika menggunakan WHERE, maka GROUP BY ditulis setelah WHERE, namun jika tidak maka GROUP BY bisa langsung ditulis setelah FROM.
Jika menggunakan ORDER BY, maka GROUP BY harus ditulis terlebih dahulu.
Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula
2. GROUP BY Single Column
Penggunaan GROUP BY bisa dilakukan dengan single column, artinya pada bagian GROUP BY hanya akan diisi oleh satu column saja. Penggunaan GROUP BY single column bertujuan agar data dikelompokkan menggunakan kriteria dari satu kolom saja.
Contoh penggunaan GROUP BY dengan single column adalah sebagai berikut:
SELECT province,
COUNT(DISTINCT order_id) as total_order,
SUM(item_price) as total_price
FROM sales_retail_2019
GROUP BY province;
Dari syntax di atas, kita melakukan pengelompokan berdasarkan kriteria yang terdapat pada kolom province saja. Dan output yang dihasilkan adalah:
3. GROUP BY Multiple Column
Selain GROUP BY yang menggunakan single column, kita juga bisa memanfaatkan GROUP BY dengan multiple column. Dengan menggunakan GROUP BY multiple column, maka kita bisa mengelompokkan data menggunakan kriteria dari dua kolom atau lebih.
Contoh penggunaan GROUP BY dengan multiple column bisa dilihat pada syntax berikut:
SELECT province, brand,
COUNT(DISTINCT order_id) as total_order,
SUM(item_price) as total_price
FROM sales_retail_2019
GROUP BY province, brand;
Dari syntax di atas, kita bisa melihat bahwa data akan ditampilkan setelah dikelompokkan berdasarkan kriteria yang terdapat pada kolom province dan brand.
Kita bisa melihat outputnya pada gambar berikut:
4. Kombinasi Penggunaan Group By dengan Where dan Having
Dalam proses analisis data, terkadang kita hanya ingin menampilkan data sesuai dengan kebutuhan. Nah untuk memfilter data ini, kita bisa memanfaatkan WHERE dan HAVING. Keduanya bisa dikombinasikan dengan GROUP BY, hanya saja penggunaannya cukup berbeda.
WHERE dapat digunakan dengan GROUP BY untuk memfilter data yang bukan merupakan hasil agregasi. Contoh penggunaan WHERE dan GROUP BY bisa dilihat pada syntax berikut:
SELECT province, brand,
COUNT(DISTINCT order_id) as total_order,
SUM(item_price) as total_price
FROM sales_retail_2019
WHERE province ='Banten'
GROUP BY brand;
Dari syntax di atas, kita hanya ingin menampilkan data untuk provinsi Banten namun datanya juga harus diurutkan sesuai dengan kriteria yang ada di kolom brand. Kita bisa melihat outputnya:
Sementara penggunaan HAVING digunakan untuk menggantikan WHERE dalam proses filter data ketika menggunakan GROUP BY yang datanya di agregasi. Penulisan HAVING harus dilakukan setelah GROUP BY.
Contoh penggunaan HAVING adalah sebagai berikut:
SELECT province, brand,
COUNT(DISTINCT order_id) as total_order,
SUM(item_price) as total_price
FROM sales_retail_2019
GROUP BY province, brand
HAVING COUNT(DISTINCT order_id)>330;
Pada syntax di atas, kita ingin mengelompokkan data berdasarkan province dan juga brand, namun kita juga memfilter data yang ditampilkan untuk jumlah order unik yang lebih dari 330. Hasilnya adalah:
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
Tertarik untuk belajar SQL lebih lanjut? Kamu gak perlu bingung harus belajar SQL dimana karena DQLab juga menyediakan modul SQL yang sangat cocok bagi pemula karena membahas hal-hal yang bersifat fundamental.
Selain itu, kamu juga bisa memanfaatkan live code editor yang telah disediakan sehingga kamu tidak repot mengurus proses instalasi software dan bisa fokus pada materi. Agar bisa mengaksesnya, kamu cukup berlangganan untuk menjadi member premium di DQLab.
Yuk, tunggu apa lagi? Sekarang giliran mu!
Penulis: Gifa Delyani Nursyafitri
Postingan Terkait
Menangkan Kompetisi Bisnis dengan Machine Learning
Mulai Karier
sebagai Praktisi Data
Bersama DQLab
Daftar sekarang dan ambil langkah pertamamu untuk mengenal Data Science.