6.1 Daftar fungsi agregat
Saat Anda menggunakan pengelompokan baris dalam SQL dengan operator GROUP BY, Anda dapat menggunakan SELECTfungsi dalam pernyataan yang beroperasi pada data yang dikelompokkan. Fungsi semacam itu juga disebut fungsi agregat.
Berikut adalah daftar yang paling populer:
| # | Fungsi | Keterangan |
|---|---|---|
| 1 | MENGHITUNG() | Mengembalikan jumlah nilai dalam grup |
| 2 | JUMLAH() | Mengembalikan jumlah nilai dalam grup |
| 3 | MAX() | Mengembalikan nilai maksimum grup |
| 4 | MIN() | Mengembalikan nilai minimum grup |
| 5 | AVG() | Mengembalikan rata-rata grup |
| 6 | BIT_AND() | Melakukan bitwise DAN atas semua nilai grup |
| 7 | BIT_OR() | Melakukan bitwise ATAU pada semua nilai grup |
| 8 | BIT_XOR() | Melakukan XOR bitwise pada semua nilai grup |
| 9 | GROUP_CONCAT() | Menggabungkan semua nilai grup menjadi satu string |
Sekarang mari kita lihat beberapa contoh dengan fungsi agregat kita.
6.2 Menganalisis gaji karyawan
Mari hitung beberapa statistik karyawan kita dari tabel karyawan .
Pertanyaan pertama: berapa banyak karyawan yang kita miliki?
Jika kita ingin mengetahui jumlah semua record dalam tabel, maka kita dapat menggunakan fungsi agregat untuk this COUNT. Permintaan akan terlihat seperti ini:
SELECT COUNT(*) FROM employee
Dan MySQL akan mengembalikan angka 6. Kami memiliki 6 karyawan di departemen, termasuk seekor kucing. Baiklah.
Pertanyaan kedua: berapa yang kita bayar per bulan untuk semua karyawan?
Untuk menjawab pertanyaan ini, kita perlu menjumlahkan gaji semua karyawan. Untuk melakukan ini, kami menggunakan fungsi agregatSUM()
Permintaan akan terlihat seperti ini:
SELECT SUM(salary) FROM employee
Perhatikan bahwa kali ini kita diharuskan menentukan nilai kolom mana yang kita rangkum. Kami telah menentukan kolom gaji . Kita tidak bisa hanya menjumlahkan semua field dalam sebuah tabel.
Dan MySQL akan mengembalikan angka 461000 sebagai jawabannya Kami memiliki 6 karyawan di departemen, dan gajinya 461 ribu. Terlalu banyak.
Dan terakhir, pertanyaan ketiga: berapa gaji maksimum dan minimum kita di departemen? Nah, mari kita hitung gaji rata-rata. Untuk melakukan ini, kita memerlukan fungsi MIN, MAXdan AVG.
Kueri kali ini akan sedikit lebih rumit dan terlihat seperti ini:
SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee
Hasil dari kueri ini adalah:
| MIN (gaji) | AVG (gaji) | MAX (gaji) |
|---|---|---|
| 1000 | 76833.3333 | 200000 |
Upah minimum di departemen kami adalah $1.000 – sangat bagus. Gaji maksimal 200 ribu, tapi ini direkturnya.
Tetapi gaji rata-rata terlalu tinggi, Anda perlu mengoptimalkan biaya. Mari kita menyewa kucing lain dan hanya itu :)
GO TO FULL VERSION