✨PROMO SPESIAL 11.11!✨
Belajar Data Bersertifikat 12 Bulan hanya 170K!
0 Hari 1 Jam 33 Menit 52 Detik

SQL: GROUP BY dengan ORDER BY, WHERE, dan HAVING

Belajar Data Science di Rumah 18-Oktober-2024
https://dqlab.id/files/dqlab/cache/2-longtail-rabu-06-2024-10-20-200925_x_Thumbnail800.jpg

SQL menjadi salah satu aspek yang memegang peranan penting dalam proses analisis data. Bahasa ini digunakan untuk memproses segala hal yang berkaitan dengan database, yang meliputi proses pembuatan dan penginputan data, mengakses dan memanipulasi, serta menghapus atau mengubah data tertentu. Kemampuan SQL untuk melakukan pekerjaan tersebut didukung penuh oleh berbagai perintah yang tersedia di dalamnya. 


Perintah GROUP BY adalah salah satu perintah yang sering digunakan dalam SQL. Perintah ini digunakan untuk mengelompokkan baris-baris dalam table yang memiliki nilai sama ke dalam satu atau beberapa kolom. 


Biasanya perintah ini digunakan bersamaan dengan fungsi agregat seperti COUNT(), SUM(), AVG(), dan lainnya. Ketika dikombinasikan dengan perintah lain seperti ORDER BY, WHERE, dan HAVING, kemampuan query menjadi lebih fleksibel dan dinamis. 


Dalam artikel ini, kita akan membahas bagaimana pengkombinasisan GROUP BY dengan perintah lain dalam SQL. Yuk, simak pembahasannya!


1. Kombinasi GROUP BY dengan ORDER BY untuk Mengurutkan Hasil

Setelah mengelompokan data dengan GROUP BY, kita bisa menggunakan ORDER BY untuk mengurutkan hasil berdasarkan kolom tertentu ataupun hasil agregat. Perintah ORDER BY akan menentukan bagaimana hasil query ditampilkan, apakah dalam urutan ascending (terkecil ke terbesar) atau descending (terbesar ke terkecil). Berikut ini adalah contoh pengkombinasian GROUP BY dengan ORDER BY:

SELECT Country, COUNT(CustomerID) AS CustomerCount
FROM Customers
GROUP BY Country
ORDER BY CustomerCount DESC;


Pada query di atas, kita mengelompokkan pelanggan berdasarkan negara (kolom Country) menggunakan GROUP BY, lalu selanjutnya menghitung jumlah pelanggan per negara. Hasilnya diurutkan dalam urutan descending berdasarkan jumlah pelanggan di setiap negara.


Baca juga : Bootcamp Data Analyst with SQL and Python


2. Kombinasi GROUP BY dan WHERE untuk Memfilter Data

Sebelum data dikelompokkan dengan GROUP BY, kita bisa memfilter baris yang ingin dimasukkan ke dalam pengelompokan menggunakan WHERE. Di beberapa kondisi, terkadang kita sebagai praktisi data tidak membutuhkan semua data untuk analisis.


Sehingga penggunaan WHERE yang bisa digunakan untuk menentukan kondisi yang harus dipenuhi akan sangat membantu untuk menampilkan nilai yang benar-benar dibutuhkan. Contoh query dari kombinasi GROUP BY dan WHERE:

SELECT ProductID, SUM(Quantity) AS TotalQuantity
FROM Orders
WHERE OrderDate >= '2023-01-01'
GROUP BY ProductID;


Dalam query ini, total pesanan yang dihitung dan dikelompokkan berdasarkan product ID hanya lah pesanan yang dilakukan setelah 1 Januari 2023. Penggunaan perintah WHERE disini akan memfilter data terlebih dahulu sebelum dilakukan pengelompokan.


3. Kombinasi dengan HAVING untuk Memfilter Hasil Setelah Pengelompokan

Berbeda dengan WHERE yang memfilter data sebelum pengelompokan, HAVING digunakan untuk memfilter hasil setelah data dikelompokkan. Biasanya HAVING yang digunakan bersama GROUP BY bertujuan untuk menggantikan perintah WHERE untuk case data yang berupa hasil agregat, seperti menghitung berapa banyak kelompok yang memenuhi kondisi tertentu.


Di bawah ini merupakan contoh penggunaan HAVING dan GROUP BY:

SELECT Country, COUNT(CustomerID) AS CustomerCount
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 50;

Jika dilihat dari query di atas, data pelanggan akan dikelompokkan berdasarkan negara dan menghitung jumlah pelanggan di setiap negara. Namun, penggunaan HAVING membuat hasil query tersebut hanya menampilkan negara yang memiliki lebih dari 50 pelanggan.


4. Menggabungkan WHERE, GROUP BY, HAVING, dan ORDER BY

Semua perintah yang telah dibahas sebelumnya ternyata bisa digunakan secara bersamaan. Ketika semua perintah ini digabungkan, query yang dihasilkan menjadi sangat spesifik dan terstruktur.


WHERE digunakan untuk memfilter data sebelum pengelompokan, GROUP BY mengelompokkan data, HAVING memfilter hasil berdasarkan agregat, dan ORDER BY menentukan urutan hasil akhir. Ini adalah contoh kombinasi keempat perintah tersebut:

SELECT ProductID, SUM(Quantity) AS TotalQuantity
FROM Orders
WHERE OrderDate >= '2023-01-01'
GROUP BY ProductID
HAVING SUM(Quantity) > 100
ORDER BY TotalQuantity DESC;


Dalam contoh diatas WHERE memfilter pesanan yang dilakukan setelah 1 Januari 2023. Lalu GROUP BY akan mengelompokkan data berdasarkan ProductID. Selanjutnya penggunaan HAVING memastikan hanya produk dengan total penjualan lebih dari 100 unit yang ditampilkan. Kemudian ORDER BY mengurutkan hasil berdasarkan total penjualan, dari yang terbesar ke yang terkecil.


Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data


Kombinasi GROUP BY dengan perintah lain seperti ORDER BY, WHERE, dan HAVING dalam SQL memungkinkan kita untuk membuat query yang kompleks dan detail. Dengan memahami cara kerja setiap perintah ini, kita bisa menghasilkan laporan dan analisis data yang lebih akurat dan relevan.


Tertarik belajar SQL? DQLab menyediakan modul SQL yang sangat cocok bagi pemula. DQLab 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. 


Selain itu, Bootcamp Data Analyst with SQL and Python juga termasuk kelas yang direkomendasikan bagi pemula yang ingin melakukan pembelajaran data untuk menjadi seorang Data Analyst. Tentunya nanti kita akan dihadapkan dengan study case yang bisa menambah portfolio data.


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


Penulis : Gifa Delyani Nursyafitri

Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login