SQL Aggregate Functions: Cara dan Contoh Fungsi Agregate
Pelajari lebih jauh tentang SQL Aggregate functions, mulai dari definisi sampai contoh penggunaannya.
Data Analytics
Bobby Christian
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.
database, fungsi agregat merupakan salah satu 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
total harga makanan dan minuman setiap tahunnya
- 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.
Fungsi agregat dapat dibagi menjadi beberapa jenis yaitu:
-
- MAX
() : mencari nilai tertinggi dalam sebuah kolom
Cara Menggunakan Aggregate Function di SQL
AVG ()
AVG() digunakan untuk menghitung rata-rata dari data pada suatu kolom. Penulisan klausa SUM yaitu setelah FROM.
AVG dapat dituliskan sebagai berikut:
Klausa Null tidak akan terhitung apabila kita menggunakan fungsi DISTINCT dalam penulisan klausa COUNT serupa dengan penulisan fungsi agregat lainnya yaitu setelah FROM.
COUNT menggunakan contoh.query dapat dituliskan sebagai berikut:COUNT hampir serupa dengan kondisi pertama tetapi ditambah klausa COUNT() sebelum nama kolomnya.MAX ()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 di atas, dapat diperoleh bahwa harga termahal adalah USD 6.5.
MIN ()
MAX(), klausa query sebagai berikut:
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:
query di atas adalah sebagai berikut:
- MAX