6.1 Daftar fungsi agregat

Nalika sampeyan nggunakake panglompokan baris ing SQL karo operator GROUP BY, sampeyan bisa nggunakake SELECTfungsi 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
Iki dudu dhaptar lengkap fungsi agregat, nanging liyane spesifik banget lan aku ora mikir sing bakal digunakake ing taun sabanjuré 5. Yen sampeyan isih perlu, sampeyan bisa tansah maca dokumentasi resmi kanggo DBMS.

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, MAXlan 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 :)