Buat Akun DQLab & Akses Kelas Data Science Python, R, SQL, Excel GRATIS!

4 Fakta Menarik SQL Group By, Pemula Catat!

Belajar Data Science di Rumah 14-April-2023
https://dqlab.id/files/dqlab/cache/35dd323d5c38f656a333af0e8af5c08e_x_Thumbnail800.jpeg

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 

SQL

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:

SQL


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:

SQL

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:

SQL

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


Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login