Fungsi Agregat di MySQL

Fungsi Agregat adalah segalanya

  • Melakukan perhitungan pada beberapa baris
  • Dari satu kolom tabel
  • Dan mengembalikan satu nilai.

Standar ISO mendefinisikan lima (5) fungsi agregat yaitu;

1) HITUNGAN
2) JUMLAH
3) AVG
4) MENIT
5) MAKS

Mengapa Menggunakan Fungsi Agregat

Dari sudut pandang bisnis, berbagai tingkat organisasi memiliki kebutuhan informasi yang berbeda. Manajer tingkat atas biasanya tertarik untuk mengetahui angka secara keseluruhan dan tidak perlu mengetahui detail masing-masing.

Fungsi agregat memungkinkan kami dengan mudah menghasilkan data ringkasan dari database kami.

Misalnya, dari database myflix kami, manajemen mungkin memerlukan laporan berikut

  • Film yang paling sedikit disewa.
  • Film yang paling banyak disewa.
  • Jumlah rata-rata setiap film yang disewakan dalam sebulan.

Kami dengan mudah membuat laporan di atas menggunakan fungsi agregat.

Mari kita lihat fungsi agregat secara detail.

fungsi COUNT

Fungsi COUNT mengembalikan jumlah total nilai dalam bidang yang ditentukan. Ia bekerja pada tipe data numerik dan non-numerik. Semua fungsi agregat secara default mengecualikan nilai null sebelum mengerjakan data.

COUNT (*) adalah implementasi khusus dari fungsi COUNT yang mengembalikan jumlah semua baris dalam tabel tertentu. COUNT (*) juga mempertimbangkan nol dan duplikat.

Tabel di bawah ini menunjukkan data dalam tabel persewaan film

nomor referensi tanggal transaksi tanggal pengembalian Nomor keanggotaan film_id film_ kembali
11 20-06-2012 NULL 1 1 0
12 22-06-2012 25-06-2012 1 2 0
13 22-06-2012 25-06-2012 3 2 0
14 21-06-2012 24-06-2012 2 2 0
15 23-06-2012 NULL 3 3 0

Misalkan kita ingin mengetahui berapa kali film dengan id 2 telah disewakan

SELECT COUNT(`movie_id`)  FROM `movierentals` WHERE `movie_id` = 2;

Menjalankan kueri di atas dalam MySQL meja kerja terhadap myflixdb memberi kita hasil berikut.

COUNT('movie_id')
3

Kata Kunci BERBEDA

Kata Kunci BERBEDA

Kata kunci DISTINCT yang memungkinkan kami menghilangkan duplikat dari hasil kami. Hal ini dicapai dengan mengelompokkan nilai-nilai yang serupa.

Untuk mengapresiasi konsep Distinct, mari jalankan query sederhana

SELECT `movie_id` FROM `movierentals`;

movie_id
1
2
2
2
3

Sekarang mari kita jalankan kueri yang sama dengan kata kunci yang berbeda-

SELECT DISTINCT `movie_id` FROM `movierentals`;

Seperti yang ditunjukkan di bawah ini, perbedaan menghilangkan catatan duplikat dari hasil.

movie_id
1
2
3

Fungsi MIN

Fungsi MIN mengembalikan nilai terkecil di bidang tabel yang ditentukan.

Sebagai contoh, misalkan kita ingin mengetahui tahun rilisnya film tertua di perpustakaan kita, kita dapat menggunakan MySQLFungsi MIN untuk mendapatkan informasi yang diinginkan.

Pertanyaan berikut membantu kita mencapai hal itu

SELECT MIN(`year_released`) FROM `movies`;

Menjalankan kueri di atas dalam MySQL workbench terhadap myflixdb memberi kita hasil berikut.

MIN('year_released')
2005

Fungsi MAX

Seperti namanya, fungsi MAX merupakan kebalikan dari fungsi MIN. Dia mengembalikan nilai terbesar dari bidang tabel yang ditentukan.

Anggaplah kita ingin mendapatkan tahun peluncuran film terbaru di database kita. Kita dapat dengan mudah menggunakan fungsi MAX untuk mencapainya.

Contoh berikut mengembalikan tahun film terakhir yang dirilis.

SELECT MAX(`year_released`)  FROM `movies`;

Menjalankan kueri di atas dalam MySQL workbench menggunakan myflixdb memberi kita hasil berikut.

MAX('year_released')
2012

Fungsi SUM

Misalkan kita menginginkan laporan yang memberikan jumlah total pembayaran yang dilakukan sejauh ini. Kita bisa menggunakan MySQL JUMLAH fungsi yang mengembalikan jumlah semua nilai di kolom yang ditentukan. SUM hanya berfungsi pada bidang numerik. Nilai nol dikecualikan dari hasil yang dikembalikan.

Tabel berikut menunjukkan data dalam tabel pembayaran-

pembayaran_ id Nomor keanggotaan tanggal pembayaran deskripsi jumlah yang dibayarkan eksternal_ referensi _nomor
1 1 23-07-2012 Pembayaran sewa film 2500 11
2 1 25-07-2012 Pembayaran sewa film 2000 12
3 3 30-07-2012 Pembayaran sewa film 6000 NULL

Kueri yang ditunjukkan di bawah ini menampilkan semua pembayaran yang dilakukan dan menjumlahkannya untuk menghasilkan satu hasil.

SELECT SUM(`amount_paid`) FROM `payments`;

Menjalankan kueri di atas dalam MySQL workbench terhadap myflixdb memberikan hasil berikut.

SUM('amount_paid')
10500

AVG fungsi

MySQL AVG fungsi mengembalikan rata-rata nilai dalam kolom tertentu. Sama seperti fungsi SUM, itu hanya bekerja pada tipe data numerik.

Misalkan kita ingin mencari jumlah rata-rata yang dibayarkan. Kita dapat menggunakan query berikut –

SELECT AVG(`amount_paid`)  FROM `payments`;

Menjalankan kueri di atas dalam MySQL workbench, memberi kita hasil sebagai berikut.

AVG('amount_paid')
3500

Pemikat Otak

Menurut Anda fungsi agregat itu mudah. Coba ini!

Contoh berikut mengelompokkan anggota berdasarkan nama, menghitung jumlah total pembayaran, jumlah pembayaran rata-rata, dan total keseluruhan jumlah pembayaran.

SELECT m.`full_names`,COUNT(p.`payment_id`) AS  `paymentscount`,AVG(p.`amount_paid`)  AS `averagepaymentamount`,SUM(p.`amount_paid`)  AS `totalpayments` FROM members m, payments p WHERE m.`membership_number` = p.`membership_number` GROUP BY m.`full_names`;

Menjalankan contoh di atas di MySQL workbench memberi kita hasil berikut.

AVG fungsi

Ringkasan

  • MySQL mendukung kelima (5) fungsi agregat standar ISO COUNT, SUM, AVG, MIN dan maks.
  • JUMLAH dan AVG fungsi hanya bekerja pada data numerik.
  • Jika Anda ingin mengecualikan nilai duplikat dari hasil fungsi agregat, gunakan kata kunci DISTINCT. Kata kunci ALL mencakup duplikat genap. Jika tidak ada yang ditentukan, SEMUA dianggap sebagai default.
  • Fungsi agregat dapat digunakan bersama dengan klausa SQL lainnya seperti KELOMPOK OLEH