MySQL - 16 - Fungsi Agregat

Jagat Koding - Fungsi Agregat adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal sebagai hasilnya, seperti: jumlah data, nilai minimun, nilai maximum dan nilai rata-rata. 

Mungkin kita sering menggunakan Formula saat memerlukan beberapa fungsi yang digunakan untuk mendapatkan hasil tertentu pada aplikasi microsoft Excel. Seperti itulah konsep dari fungsi agregat yang akan kita pelajari kali ini.

Beberapa fungsi Agregat yang akan kita bahas kali ini diantaranya adalah COUNT, SUM, AVG, MIN, dan MAX.

  1. COUNT() -> digunakan untuk menghitung banyaknya data di suatu kolom
  2. SUM() -> digunakan untuk menghitung jumlah/total nilai di suatu kolom
  3. AVG() -> digunakan untuk menghitung nilai rata-rata di suatu kolom
  4. MIN() -> digunakan untuk mencari nilai terendah di suatu kolom
  5. MAX() -> digunakan untuk mencari nilai tertinggi di suatu kolom

Persiapan

Sebelum melakukan percobaan, disini saya sebelumnya sudah memiliki sebuah database dengan nama db_kampus dan didalamnya sudah terdapat sebuah tabel dengan nama tb_mahasiswa, yang mana spesifikasi tabel tb_mahasiswa adalah sebagai berikut:


MariaDB [db_kampus]> DESCRIBE tb_mahasiswa;
+----------------+-------------+------+-----+---------+----------------+
| Field          | Type        | Null | Key | Default | Extra          |
+----------------+-------------+------+-----+---------+----------------+
| id_mahasiswa   | int(11)     | NO   | PRI | NULL    | auto_increment |
| nama_mahasiswa | varchar(50) | YES  |     | NULL    |                |
| jenis_kelamin  | varchar(10) | YES  |     | NULL    |                |
| umur           | int(11)     | YES  |     | NULL    |                |
+----------------+-------------+------+-----+---------+----------------+
4 rows in set (0.11 sec)

Didalam tb_mahasiswa, saya juga sudah mengisi beberapa data yang kalau ditampilkan isinya adalah sebagai berikut:


MariaDB [db_kampus]> SELECT * FROM tb_mahasiswa;
+--------------+---------------------+---------------+------+
| id_mahasiswa | nama_mahasiswa      | jenis_kelamin | umur |
+--------------+---------------------+---------------+------+
|            1 | Alexander Kurniawan | Laki-laki     |   22 |
|            2 | Hendrik Setiawan    | Laki-laki     |   23 |
|            3 | Dita Leni           | Perempuan     |   21 |
|            4 | Adi Luhung          | Laki-laki     |   22 |
|            5 | Lusi Arianti        | Perempuan     |   23 |
|            6 | Bima Santosa        | Laki-laki     |   22 |
|            7 | Bayu Pamungkas      | Laki-laki     |   22 |
|            8 | Eka Puspita Sari    | Perempuan     |   22 |
+--------------+---------------------+---------------+------+
8 rows in set (0.00 sec)

Setelah kebutuhan persiapan tersebut terpenuhi, selanjutnya kita akan mencoba menerapkan fungsi agregat dalam menjalankan query pada MySQL.

Fungsi Agregat COUNT()

Saya akan mencoba menampilkan jumlah atau banyaknya data/baris yang ada didalam tabel tb_mahasiswa dengan mengetikkan query berikut:


MariaDB [db_kampus]> SELECT COUNT(*) FROM tb_mahasiswa;
+----------+
| COUNT(*) |
+----------+
|        8 |
+----------+
1 row in set (0.00 sec)

Terlihat bahwa tampil sebuah kolom dengan nama COUNT(*) yang berisi 1 baris data angka 8 yang menunjukkan bahwa jumlah data yang terhitung berdasarkan baris yang terdapat pada tabel tb_mahasiswa berjumlah 8 data/baris.

Mengingat kita sudah mempelajari pembahasan tentang Alias Column pada MySQL, so- kita akan menerapkan sekalian di pembahasan kali ini. Yang awalnya judul kolom yang muncul adalah COUNT(*), saya akan mencoba mengubahnya menjadi tulisan jml_data seperti pada implementasi berikut.


MariaDB [db_kampus]> SELECT COUNT(*) AS 'jml_data' FROM tb_mahasiswa;
+----------+
| jml_data |
+----------+
|        8 |
+----------+
1 row in set (0.00 sec)

Terlihat bahwa judul dari kolom yang awalnya adalah COUNT(*) sekarang sudah berubah sesuai dengan yang kita sisipkan pada perintah AS, yaitu jml_data.

Bagaimana kalau kita ingin mengetahui jumlah siswa laki-laki yang ada di tabel tb_mahasiswa? Coba kalian ketikkan query berikut ini untuk mengetahui penyelesaian dari studi kasus tersebut.


MariaDB [db_kampus]> SELECT COUNT(*) AS 'jml_laki' FROM tb_mahasiswa
    -> WHERE jenis_kelamin = 'Laki-laki';
+----------+
| jml_laki |
+----------+
|        5 |
+----------+
1 row in set (0.00 sec)

Di atas adalah hasil penampilan data jumlah mahasiswa yang memiliki jenis kelamin Laki-laki di tabel tb_mahasiswa.

Fungsi Agregat SUM()

Kalau COUNT digunakan untuk mengetahui jumlah data yang terdapat pada sebuah tabel sesuai ketentuan yang ditetapkan. SUM digunakan untuk menghitung total angka yang terdapat pada sebuah tabel sesuai dengan ketentuan yang ditetapkan. Query ini sering digunakan untuk menghitung Total Uang masuk, Total pengeluaran, Total Diskon, dan beberapa studi kasus tertentu.

Karena saya tidak memiliki kolom yang berkaitan dengan uang, maka di percobaan kali ini saya akan mencoba menggunakan Fungsi SUM ini untuk mejumlahkan angka yang berada di kolom umur yang pengujiannya sebagai berikut:


MariaDB [db_kampus]> SELECT SUM(umur)
    -> FROM tb_mahasiswa;
+-----------+
| SUM(umur) |
+-----------+
|       177 |
+-----------+
1 row in set (0.00 sec)

Silahkan kalian terapkan juga untuk alias column untuk mengubah nama kolom yang ditampilkan di tabel hasil eksekusi query.

Fungsi Agregat AVG()

AVG adalah kepanjangan dari AVERAGE atau rata-rata nilai dari suatu kumpulan data. Sering digunakan pada studi kasus penentuan rata-rata nilai, umur, tinggi badan, dan data yang lainnya. Kali ini saya akan mencari rata-rata umur dari data mahasiswa yang terdapat di tabel tb_mahasiswa.


MariaDB [db_kampus]> SELECT AVG(umur) FROM tb_mahasiswa;
+-----------+
| AVG(umur) |
+-----------+
|   22.1250 |
+-----------+
1 row in set (0.00 sec)

Fungsi Agregat MIN()

MIN dapat kita gunakan untuk mengetahui nilai terkecil pada suatu tabel sesuai dengan ketentuan yang kita tetapkan. Studi kasus yang sering menggunakan fungsi ini seperti saat kita mencari nilai terendah dalam sebuah ujian, mahasiswa termuda, tinggi badan terendah, hingga mencari berat badan terkecil.

Kali ini saya akan mencari mahasiswa dengan umur termuda atau terkecil pada tb_mahasiswa dengan menggunakan fungsi agregat MIN().


MariaDB [db_kampus]> SELECT MIN(umur) FROM tb_mahasiswa;
+-----------+
| MIN(umur) |
+-----------+
|        21 |
+-----------+
1 row in set (0.00 sec)

Dapat kita lihat bahwa usia mahasiswa termuda di tabel tb_mahasiswa adalah 21. Jika kita ingin mengetahui siapa saja mahasiswa yang memiliki usia termuda, kita bisa mengetikkan query penampilan data dengan pembatasan nilai jika usia = 21.


MariaDB [db_kampus]> SELECT * FROM tb_mahasiswa WHERE umur = 21;
+--------------+----------------+---------------+------+
| id_mahasiswa | nama_mahasiswa | jenis_kelamin | umur |
+--------------+----------------+---------------+------+
|            3 | Dita Leni      | Perempuan     |   21 |
+--------------+----------------+---------------+------+
1 row in set (0.00 sec)

Fungsi Agregat MAX()

MIN dapat kita gunakan untuk mengetahui nilai terbesar pada suatu tabel sesuai dengan ketentuan yang kita tetapkan. Studi kasus yang sering menggunakan fungsi ini seperti saat kita mencari nilai tertinggi dalam sebuah ujian, mahasiswa tertua, tinggi badan tertinggi, hingga mencari berat badan terbesar.

Kali ini saya akan mencari mahasiswa dengan umur tertua atau terbesar pada tb_mahasiswa dengan menggunakan fungsi agregat MAX().


MariaDB [db_kampus]> SELECT MAX(umur) FROM tb_mahasiswa;
+-----------+
| MAX(umur) |
+-----------+
|        23 |
+-----------+
1 row in set (0.00 sec)

Bisa kita lihat bahwa mahasiwa tertua pada tb_mahasiswa adalah berumur 23. Jika kita ingin mengetahui siapa mahasiswa yang memiliki umur tertua, maka kita bisa mengetikkan query berikut dengan memanfaatkan hasil umur pada fungsi agregat MAX().


MariaDB [db_kampus]> SELECT * FROM tb_mahasiswa WHERE umur = 23;
+--------------+------------------+---------------+------+
| id_mahasiswa | nama_mahasiswa   | jenis_kelamin | umur |
+--------------+------------------+---------------+------+
|            2 | Hendrik Setiawan | Laki-laki     |   23 |
|            5 | Lusi Arianti     | Perempuan     |   23 |
+--------------+------------------+---------------+------+
2 rows in set (0.00 sec)

Demikian pembahasan beberapa Fungsi Agregat yang bisa kita manfaatkan pada MySQL. Semoga dapat kita manfaatkan pada beberapa studi kasus yang relevan. Sampai jumpa di postingan lainnya, Terimakasih ...

0 Response to "MySQL - 16 - Fungsi Agregat"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel