6.1 Daftar fungsi agregat
Nalika sampeyan nggunakake panglompokan baris ing SQL karo operator GROUP BY
, sampeyan bisa nggunakake SELECT
fungsi ing statement sing operate ing data diklompokaké. Fungsi kasebut uga disebut fungsi agregat.
Ing ngisor iki dhaptar sing paling populer:
# | Fungsi | Katrangan |
---|---|---|
1 | COUNT() | Ngasilake jumlah nilai ing grup |
2 | CACAHE() | Ngasilake jumlah nilai ing grup |
3 | MAX() | Ngasilake nilai maksimum klompok |
4 | MIN() | Ngasilake nilai minimal saka grup |
5 | AVG() | Ngasilake tegese klompok |
6 | BIT_AND() | Nindakake bitwise AND liwat kabeh nilai grup |
7 | BIT_OR() | Nindakake bitwise UTAWA liwat kabeh nilai grup |
8 | BIT_XOR() | Nindakake XOR bitwise liwat kabeh nilai grup |
9 | GROUP_CONCAT() | Gabungke kabeh nilai grup dadi siji string |
Saiki ayo goleki sawetara conto kanthi fungsi agregat.
6.2 Analisis gaji karyawan
Ayo ngitung sawetara statistik karyawan saka tabel karyawan .
Pitakonan siji: pira karyawan kita?
Yen kita pengin ngerteni jumlah kabeh cathetan ing tabel, mula kita bisa nggunakake fungsi agregat kanggo iki COUNT
. Panjaluk kasebut bakal katon kaya iki:
SELECT COUNT(*) FROM employee
Lan MySQL bakal ngasilake nomer 6 minangka respon. Kita duwe 6 karyawan ing departemen, kalebu kucing. nggih.
Pitakonan loro: pinten kita mbayar saben sasi kanggo kabeh karyawan?
Kanggo njawab pitakonan iki, kita kudu nyimpulake gaji kabeh karyawan. Kanggo nindakake iki, kita nggunakake fungsi agregatSUM()
Panjaluk kasebut bakal katon kaya iki:
SELECT SUM(salary) FROM employee
Elinga yen wektu iki kita kudu nemtokake nilai kolom sing diringkes. Kita wis nemtokake kolom gaji . Kita ora bisa mung nyimpulake kabeh kolom ing tabel.
Lan MySQL bakal mbalekake nomer 461000 minangka jawaban. Kita duwe 6 karyawan ing departemen, lan gaji 461 ewu. Kakehan.
Lan pungkasanipun, pitakonan katelu: apa gaji maksimum lan minimal ing departemen? Inggih, ayo ngetung gaji rata-rata. Kanggo nindakake iki, kita butuh fungsi MIN
, MAX
lan AVG
.
Pitakonan iki bakal rada rumit lan katon kaya iki:
SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee
Asil saka pitakonan iki bakal dadi:
MIN (gaji) | AVG (gaji) | MAX (gaji) |
---|---|---|
1000 | 76833.3333 | 200000 |
Upah minimal ing departemen kita yaiku $1,000 - apik banget. Gaji maksimum 200 ewu, nanging iki direktur.
Nanging gaji rata-rata dhuwur banget, sampeyan kudu ngoptimalake biaya. Ayo nyewa kucing liyane lan iku :)