6.1 Senarai fungsi agregat
Apabila anda menggunakan kumpulan baris dalam SQL dengan operator GROUP BY
, anda boleh menggunakan SELECT
fungsi dalam pernyataan yang beroperasi pada data terkumpul. Fungsi sedemikian juga dipanggil fungsi agregat.
Berikut ialah senarai yang paling popular:
# | Fungsi | Penerangan |
---|---|---|
1 | COUNT() | Mengembalikan bilangan nilai dalam kumpulan |
2 | SUM() | Mengembalikan jumlah nilai dalam kumpulan |
3 | MAX() | Mengembalikan nilai maksimum kumpulan |
4 | MIN() | Mengembalikan nilai minimum kumpulan |
5 | AVG() | Mengembalikan min kumpulan |
6 | BIT_AND() | Melakukan bitwise DAN ke atas semua nilai kumpulan |
7 | BIT_OR() | Melakukan bitwise ATAU ke atas semua nilai kumpulan |
8 | BIT_XOR() | Melakukan XOR bitwise ke atas semua nilai kumpulan |
9 | GROUP_CONCAT() | Menggabungkan semua nilai kumpulan ke dalam satu rentetan |
Sekarang mari kita lihat beberapa contoh dengan fungsi agregat kami.
6.2 Menganalisis gaji pekerja
Mari kita hitung beberapa statistik tentang pekerja kita dari jadual pekerja .
Soalan satu: berapa ramai pekerja yang kita ada?
Jika kita ingin mengetahui bilangan semua rekod dalam jadual, maka kita boleh menggunakan fungsi agregat untuk ini COUNT
. Permintaan akan kelihatan seperti ini:
SELECT COUNT(*) FROM employee
Dan MySQL akan mengembalikan nombor 6 sebagai jawapan. Kami mempunyai 6 pekerja di jabatan itu, termasuk seekor kucing. Baiklah.
Soalan dua: berapa banyak yang kita bayar setiap bulan kepada semua pekerja?
Untuk menjawab soalan ini, kita perlu menjumlahkan gaji semua pekerja. Untuk melakukan ini, kami menggunakan fungsi agregatSUM()
Permintaan akan kelihatan seperti ini:
SELECT SUM(salary) FROM employee
Ambil perhatian bahawa kali ini kami dikehendaki untuk menentukan nilai lajur mana yang kami ringkaskan. Kami telah menetapkan lajur gaji . Kita tidak boleh hanya menjumlahkan semua medan dalam jadual.
Dan MySQL akan mengembalikan nombor 461000 sebagai jawapan. Kami mempunyai 6 pekerja di jabatan, dan gaji 461 ribu. Terlalu banyak.
Dan akhirnya, soalan ketiga: berapakah gaji maksimum dan minimum kita di jabatan? Baiklah, mari kita kira purata gaji. Untuk melakukan ini, kita memerlukan fungsi MIN
, MAX
dan AVG
.
Pertanyaan akan menjadi lebih kompleks kali ini dan kelihatan seperti ini:
SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee
Hasil daripada pertanyaan ini ialah:
MIN(gaji) | AVG(gaji) | MAX(gaji) |
---|---|---|
1000 | 76833.3333 | 200000 |
Gaji minimum di jabatan kami ialah $1,000 – sangat bagus. Gaji maksimum ialah 200 ribu, tetapi ini adalah pengarah.
Tetapi gaji purata terlalu tinggi, anda perlu mengoptimumkan kos. Jom upah kucing lain dan itu sahaja :)
GO TO FULL VERSION