JULY SPECIAL ! DISKON 96%
Belajar Data Science Bersertifikat, 12 Bulan hanya 180K!
1 Hari 16 Jam 13 Menit 20 Detik

Cara Mengelompokkan Data dengan SQL GROUP BY

Belajar Data Science di Rumah 28-Juni-2023
https://dqlab.id/files/dqlab/cache/3-longtail-rabu-06-1-2023-06-29-155103_x_Thumbnail800.jpg

Structured Query Language yang disingkat menjadi SQL menjadi salah satu bahasa pemrograman yang akan sering digunakan oleh para praktisi data. SQL ini digunakan untuk mengakses segala hal yang berhubungan dengan database, baik untuk membuat database, mengubah isinya, bahkan menghapus data. Fungsi-fungsi yang bisa dilakukan oleh SQL akan dikelompokkan ke dalam dua kelompok besar, yaitu DDL (Data Definition Language) yang lebih mengarah ke proses pembuatan database dan DML (Data Manipulation Language) yang lebih mengarah ke proses manipulasi data.


GROUP BY merupakan salah satu statement yang ada dalam SQL, dimana fungsinya adalah untuk melakukan grouping atau pengelompokkan data. Tidak bisa dipungkiri, praktisi data pasti akan bertemu dengan keadaan yang mengharuskan untuk menghitung data berdasarkan grupnya. Misalkan kita ingin menghitung penjualan selama bertahun-tahun dari berbagai provinsi, untuk bisa mendapatkan insight nya, maka kita bisa mengelompokkan data tersebut berdasarkan tahun atau bulan. 


Pasa artikel kali ini, kita akan fokus untuk membahas segala sesuatu yang berhubungan dengan statement GROUP BY. Yuk, simak pembahasannya!


1.SQL GROUP BY

Sebelum mulai masuk ke contoh penggunaan statement GROUP BY, kita harus mengetahui bentuk umum dari query GROUP BY terlebih dahulu. Berikut adalah bentuk umumnya:

SQL

Kamu bisa menggunakan bentuk umum tersebut dengan memperhatikan beberapa catatan:

  • Penggunaan GROUP BY yang dilakukan bersamaan dengan SELECT, maka kolom yang digunakan pada GROUP BY statement juga harus masuk pada kolom yang di SELECT.

  • Ketika kita menggunakan statement WHERE, maka GROUP BY harus ditulis setelah WHERE, namun jika tidak maka GROUP BY bisa langsung ditulis setelah FROM.

  • GROUP BY harus ditulis terlebih dahulu saat kita menggunakan statement ORDER BY.


Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula


2. Cara Menggunakan GROUP BY di SQL

Misalkan kita memiliki data penjualan di table Order seperti di bawah ini:

SQL

Dari data yang ada, kita ingin melihat berapa banyak jumlah penjualan dari masing-masing item. Maka kita bisa menggunakan statement GROUP BY untuk item. Berikut adalah query nya:

SELECT item, SUM(amount) AS total

FROM Orders

GROUP BY item;

Dari query tersebut, kita menjumlahkan AMOUNT dengan fungsi SUM kemudian di aliaskan dengan menggunakan AS sebagai total. Sehingga di outputnya, judul dari kolomnya akan menjadi item dan total.

SQL


3. Kombinasi GROUP BY & JOIN SQL

Selanjutnya kita akan melihat jika kita menggunakan GROUP BY jika kita menggabung 2 table. Dalam hal ini kita akan menggabungkan table order yang sudah digunakan sebelumnya dengan table Customers. Berikut adalah data dari table Customers:

SQL

Misalkan kita ingin melihat total order dari masing-masing customer, maka kita bisa menggunakan query berikut:

SELECT Customers.customer_id, Customers.first_name, Count(Orders.order_id) AS order_count

FROM Customers

LEFT JOIN Orders

ON Customers.customer_id = Orders.customer_id

GROUP BY Customers.customer_id;

Hasilnya akan seperti gambar berikut:

SQL

Karena kita menggunakan LEFT JOIN pda table Customer, sehingga semua customer_id akan dimunculkan. Padahal customer_id = 5 tidak ada di table Order, sehingga hasil di order_count nya adalah 0.


4. GROUP BY dengan HAVING 

HAVING digunakan untuk menggantikan WHERE dalam proses filter data saat menggunakan GROUP BY, dengan catatan datanya di agregasi. Penulisan HAVING harus dilakukan setelah GROUP BY. 


Dari table Customers tadi, kita ingin menampilkan data minimum umur dari masing-masing customer di setiap negara, namun akan di filter hanya untuk negara yang customernya lebih dari 1. Berikut query yang bisa digunakan:


SELECT country, MIN(age) AS age_minimum, COUNT(customer_id) AS total_customer

FROM Customers

GROUP BY country

HAVING COUNT(customer_id) > 1;


Untuk bisa menampilkan negara dengan customer lebih dari 1, maka kita bisa memanfaatkan fungsi COUNT yang digunakan untuk menghitung jumlah customer dan digabungkan dengan HAVING Clause.


Hasilnya sebagai berikut:

SQL


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


DQLab sendiri merupakan platform belajar online yang berfokus pada pengenalan Data Science & Artificial Intelligence (AI) dengan menggunakan bahasa pemrograman populer, serta platform edukasi pertama yang mengintegrasi fitur Chat GPT.  Selain itu DQLab juga menggunakan metode HERO, yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. 


Untuk mendapatkan pengalaman belajar menarik, buruan sign up di DQLab. Daftar sekarang dan kejar impianmu untuk menjadi praktisi data!



Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login