SQL Aggregate Functions: Cara dan Contoh Fungsi Agregate

Pelajari lebih jauh tentang SQL Aggregate functions, mulai dari definisi sampai contoh penggunaannya.
Bobby Christian
August 4, 2023
6
min read

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
DAFTAR FULL PROGRAMCOBA COURSE GRATIS

Overview

Hasil penggunaan aggregate function di SQL dipakai untuk mengambil kesimpulan dari data yang ada, umumnya digunakan bersama klausa GROUP BY.

Dalam sebuah sistem pengelolaan  database, fungsi agregat merupakan salah satu perintah yang paling sering digunakan. Fungsi agregat merupakan fungsi yang melakukan perhitungan pada sekumpulan data yang menghasilkan sebuah nilai. Hasil dari fungsi agregat tersebut umumnya digunakan untuk memberikan kesimpulan dari data yang ada dan kemudian digunakan untuk analisis lanjutan. 

Sebagai contoh, misalkan terdapat data harga penjualan makanan dan minuman suatu bisnis F&B dari tahun ke tahun. Dengan menggunakan fungsi agregat, kita dapat mengetahui beberapa hal di antaranya:

  • rata-rata harga penjualan makanan dan minuman dari tahun ke tahun
  • harga tertinggi dan terendah dari tiap makanan dan minuman yang dijual
  • total harga makanan dan minuman setiap tahunnya
  • mengetahui banyaknya jenis makanan dan minuman yang dijual oleh bisnis tersebut dari tahun ke tahun

Data yang diperoleh tersebut kemudian dapat digunakan untuk analisis lanjutan. Oleh karena itu, fungsi agregat merupakan salah satu fitur yang cukup penting dalam mengambil sebuah kesimpulan dan analisis terhadap data yang ada.

Jenis-jenis Aggregate Function in SQL

Fungsi agregat dapat dibagi menjadi beberapa jenis yaitu:

  • SUM () : untuk menghitung jumlah/total nilai dari sebuah kolom
  • AVG () : untuk menghitung nilai rata-rata dari sebuah kolom
  • COUNT () : untuk menghitung jumlah baris dalam sebuah tabel / banyaknya nilai pada sebuah kolom.
  • MAX () : mencari nilai tertinggi dalam sebuah kolom
  • MIN () : mencari nilai terendah dalam sebuah kolom

Cara Menggunakan Aggregate Function di SQL

Untuk dapat lebih memahami penggunaan fungsi agregat dalam pengolahan data, akan dijelaskan satu per satu beserta contoh penggunaannya. Setiap contoh penulisan fungsi agregat di atas akan menggunakan dataset berikut:

SUM ()

Seperti yang sudah dijelaskan sebelumnya, SUM () digunakan untuk menjumlahkan data yang ada dalam sebuah kolom. Penulisan klausa SUM pada SQL dituliskan setelah SELECT dan sebelum FROM.

Sebagai contoh, apabila ingin mengetahui total harga minuman, maka dapat dituliskan sebagai berikut:

Dapat dilihat bahwa total harga untuk produk minuman dari toko A adalah 7.5 USD.

AVG ()

Klausa AVG() digunakan untuk menghitung rata-rata dari data pada suatu kolom. Penulisan klausa AVG pada SQL serupa dengan klausa SUM yaitu setelah SELECT dan sebelum FROM.

Misalnya, akan dicari rata-rata harga makanan pada toko A. Klausa AVG dapat dituliskan sebagai berikut:

COUNT ()

Klausa COUNT() umumnya digunakan untuk menghitung jumlah baris pada sebuah tabel/sebuah kolom. Perlu diperhatikan bahwa sel yang berisi nilai Null tidak akan terhitung apabila kita menggunakan fungsi COUNT() ini. Tidak hanya itu, klausa ini juga dapat digunakan untuk menghitung jumlah data yang unik dalam sebuah kolom hanya dengan menambahkan klausa DISTINCT dalam penulisan klausa COUNT(). Penulisan klausa COUNT serupa dengan penulisan fungsi agregat lainnya yaitu setelah SELECT dan sebelum FROM.

Berikut akan dijelaskan kedua fungsi COUNT menggunakan contoh.

Apabila ingin mengetahui berapa banyak data yang ada dalam sebuah tabel, penulisan query dapat dituliskan sebagai berikut:

Pada kondisi kedua, misalkan akan dicari berapa banyak jenis kategori unik (non-duplikat) dalam menu toko A. Penulisan klausa COUNT hampir serupa dengan kondisi pertama tetapi ditambah klausa DISTINCT yang penempatannya di dalam klausa COUNT() sebelum nama kolomnya.

Dari penulisan di atas, dapat diperoleh banyak jenis kategori dalam menu toko A adalah 2.

MAX ()

Pada penjelasan sebelumnya, MAX() digunakan untuk mencari nilai tertinggi dari data yang ada pada suatu kolom. Sebagai contoh, apabila ingin mengetahui harga tertinggi dari menu toko A, dapat diperoleh dengan penulisan query sebagai berikut:

Dari penulisan query di atas, dapat diperoleh bahwa harga termahal adalah USD 6.5.

MIN ()

Berbeda dengan klausa MAX(), klausa MIN() digunakan untuk mencari nilai terendah dari data yang ada pada suatu kolom. Sebagai contoh, akan dicari harga produk terendah dari menu toko A, kita dapat mencarinya dengan menuliskan query sebagai berikut:

Untuk beberapa kondisi, penggunaan fungsi agregat tidak hanya digunakan secara satu per satu, melainkan dapat dituliskan di dalam satu query SQL. Sebagai contoh, akan dicari rata-rata, banyaknya produk yang dijual, nilai maksimum, dan nilai minimum dari data harga menu toko A. Maka, untuk memperoleh hasilnya, dapat dituliskan sebagai berikut:

Dan hasil yang diperoleh dari penulisan query di atas adalah sebagai berikut:

Menggunakan Aggregate Function dengan GROUP BY 

Dalam penggunaan fungsi agregat untuk pengolahan data, umumnya fungsi agregat ini digunakan bersamaan dengan klausa GROUP BY. Klausa GROUP BY ini digunakan untuk melakukan pengelompokan terhadap data-data yang memiliki kategori yang serupa sebelum data tersebut di agregat. 

Sehingga, klausa GROUP BY lebih sering digunakan pada perhitungan agregat yang lebih kompleks (1 atau lebih kategori). Penulisan fungsi agregat diletakkan setelah SELECT dan sebelum FROM sedangkan klausa GROUP BY dituliskan setelah klausa FROM.

SUM() dengan GROUP BY

Misalnya, akan dicari total harga pada menu di toko A yang akan dikelompokkan berdasarkan kategorinya. Maka dapat dituliskan seperti query di bawah ini:

Di mana angka 1 pada query di atas merujuk pada kolom kategori sebagai kolom pertama.

Maka hasil yang diperoleh dari logic di atas adalah sebagai berikut:

Dapat dilihat bahwa dengan menggunakan klausa GROUP BY, hasil total harga yang diperoleh dikelompokkan berdasarkan kategorinya yang pada kasus ini adalah ‘Food’ dan ‘Drink.

AVG() dengan GROUP BY

Apabila akan dicari rata-rata harga menu toko A berdasarkan kategorinya. Maka dapat dicari dengan penulisan logic sebagai berikut:

Hasil yang akan diperoleh adalah sebagai berikut:

COUNT() dengan GROUP BY

Sebagai contoh, akan dicari jumlah produk untuk setiap kategori pada menu toko A. Maka dapat dihitung menggunakan logic sebagai berikut:

Hasil yang diperoleh dari logic di atas adalah sebagai berikut:

MAX() dan MIN() dengan GROUP BY

Misalkan akan dicari harga tertinggi dan terendah pada menu toko A berdasarkan kategorinya, kita dapat mencarinya dengan bantuan klausa GROUP BY. Harga tertinggi dan terendah dapat dicari dengan penulisan logic sebagai berikut:

Dan hasil yang akan diperoleh dari logic di atas adalah:

Penutup

Fungsi agregat merupakan salah satu tools yang banyak digunakan untuk mengolah data yang ada. Umumnya fungsi agregat digunakan dengan tujuan untuk menarik kesimpulan dari data yang ada sebelum dilakukan analisis lanjutan.

Fungsi agregat dibagi menjadi beberapa macam dengan fungsi yang berbeda-beda, yakni:  

  • SUM() yang digunakan untuk menghitung nilai total pada suatu kolom
  • AVG() yang dapat digunakan untuk menghitung nilai rata-rata pada suatu kolom
  • COUNT() yang digunakan untuk menghitung jumlah baris dalam sebuah tabel atau banyaknya nilai unik pada suatu kolom
  • MAX() dan MIN() yang digunakan untuk mencari nilai tertinggi dan terendah dari data yang ada.

Penggunaan fungsi agregat dapat dilakukan secara bersamaan dalam satu logic dan sering digunakan bersamaan dengan klausa GROUP BY yang berfungsi untuk melakukan pengelompokan berdasarkan kategori yang serupa. 

Pengelompokan yang dilakukan tidak terbatas pada satu kategori saja, melainkan juga dapat dikelompokkan berdasarkan beberapa kategori.

Bobby Christian
Bobby is a BI Analyst at FnB company. Is an enthusiast in the Data Industry, having some experience in Data Scientist, Data Engineer, and BI Analyst.

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Artikel Lainnya

Mau belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
Menu

Mulai karirmu dalam

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

DAFTAR FULL PROGRAM

Mau Belajar

Data Analytics

?