4 Fakta Menarik SQL Group By, Pemula Catat!

SQL (Structured Query Language) menjadi bahasa umum dari berbagai DBMS yang ada. Meskipun antara DBMS yang satu dengan yang lainnya mungkin akan terdapat sedikit perbedaan dalam penggunaannya, namun secara umum bahasa yang digunakan adalah SQL.
Agar proses pengolahan data menjadi lebih mudah, dalam SQL kita akan menggunakan berbagai klausa yang telah disediakan oleh SQL GROUP BY adalah salah satu klausa SQL yang paling sering digunakan.Klausa ini paling sering digunakan dengan agregasi untuk memperlihatkan satu nilai per bidang yang dikelompokkan atau kombinasi bidang. Penggunaan GROUP BY bisa terbagi menjadi single column dan juga multiple column. Dalam artikel ini, kita akan membahas 4 fakta menarik dari penggunaan SQL GROUP BY. Yuk, simak pembahasannya!
1. Memfilter Agregasi di GROUP BY
Menggunakan HAVING bukan WHERE
WHERE adalah salah satu statement yang bisa digunakan untuk memfilter data. Sayangnya begitu kita menggunakan GROUP BY untuk melakukan perhitungan, WHERE tidak akan lagi bisa bermanfaat untuk melakukan filtering. Oleh karena itulah, kita bisa memilih HAVING sebagai alternatifnya. Misalkan syntax nya seperti ini:
select continent, max(area)
From countries
where max(area) >= 1e7
group by 1
Syntax ini pasti tidak akan bisa berjalan dengan baik, hal ini disebabkan karena pernyataan dievaluasi sebelum agregasi terjadi.
Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula
2.GROUP BY Bisa Digunakan Secara Implisit
Dalam penggunaan GROUP BY, ternyata akan ada keadaan dimana kita bisa melakukan agregasi tanpa menggunakan GROUP BY. Saat kita melakukan agregasi untuk full tabel, secara tidak langsung akan ada SQL GROUP BY yang tersirat. Ini dikenal sebagai <grand total> dalam dokumentasi standar SQL. Misalkan kita ingin melihat ukuran negara terbesar dan secara rata-rata di Eropa. Maka syntax yang akan digunakan adalah:
-- What is the largest and average country size in Europe?
select
max(area) as largest_country
, avg(area) as avg_country_area
from
countries
where
continent = 'Europe'
Hasilnya nanti akan seperti gambar di bawah ini:
3. MySQL Bisa Melakukan GROUP BY Tanpa Menentukan Kolom Secara Spesifik
Di MySQL, kita bisa menjalankan query seperti hanya sebuah subset dari dimensi pilihan yang dikelompokkan, dan akan tetap mendapatkan hasil. Sebagai contoh, di MySQL ini akan menghasilkan jawaban untuk populasi untuk kolom state secara random dari pilihan yang tersedia.
select
country
, state
, count(*)
from
countries
group by
country
4. GROUP BY Bisa Digunakan untuk Mengelompokkan Berdasarkan Nomor Kolom
Misalkan kita memiliki query seperti ini:
-- How many countries use a currency called the dollar?
select
case when currency = 'Dollar' then currency
else 'Other'
end as currency --bad alias
, count(*)
from
countries
group by
1
Penggunaan nama kolom dan nomor kolom akan menghasilkan nilai yang sama jika digunakan untuk data yang tidak dibuat alias. Namun jika seperti syntax di atas, dimana kolom Currency didapatkan dari hasil pemrosesan tambahan, maka penggunaan nomor kolom dan nama kolom pasti akan berbeda. Hasil dari penggunaan nomor kolom adalah seperti di bawah ini:
Sementara jika kita melakukan GROUP BY berdasarkan nama kolom “Currency”
select
case when currency = 'Dollar' then currency
else 'Other'
end as currency --bad alias
, count(*)
from
countries
group by
currency
maka hasilnya adalah:
Data “Other” akan memiliki rows yang sangat banyak, padahal itu bisa dikelompokkan menjadi satu data saja. Oleh karena itu, dalam keadaan yang menggunakan alias, penggunaan GROUP BY berdasarkan nomor kolom bisa menjadi pertimbangan untuk digunakan.
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
Kejahatan bisa terjadi dimana saja, bahkan di dunia digital sekalipun. Segala sesuatu yang berhubungan dengan data customer memang sudah selayaknya untuk dilindungi. Serangan SQL Injection bukanlah satu-satunya kejahatan yang akan kita temui, karena ada banyak sekali kejahatan siber yang mengancam website atau aplikasi yang kita miliki. Sehingga kita harus terus waspada dan terus meningkatkan keamanan website. Namun sebelum masuk ke tingkat advance tersebut, ada baiknya hal-hal yang bersifat fundamental dari SQL loh.
Eits, kamu gak perlu bingung harus belajar SQL dimana karena DQLab juga 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.
Untuk mendapatkan pengalaman belajar menarik, buruan sign up di DQLab. Daftar sekarang dan kejar impianmu untuk menjadi Data Analyst!
Penulis : Gifa Delyani Nursyafitri
Postingan Terkait
Pentingnya Machine Learning dalam Industri Bisnis
Menangkan Kompetisi Bisnis dengan Machine Learning
Mulai Karier
sebagai Praktisi Data
Bersama DQLab
Daftar sekarang dan ambil langkah pertamamu untuk mengenal Data Science.