Tutorial MySQL ini menjelaskan Cara Menggunakan Clause MySQL GROUP BY dengan sintaks dan contoh.
Deskripsi
Syntax
Syntax untuk Clause MySQL GROUP BY adalah:
|
1 2 3 4 5 6 |
SELECT expression1, expression2, ... expression_n, aggregate_function (aggregate_expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n [ORDER BY expression [ ASC | DESC ]] |
Penjelasan Parameter
- expression1, expression2, … expression_n
- Ekspresi yang tidak dienkapsulasi dalam fungsi agregat dan harus disertakan dalam Klausa GROUP BY pada akhir pernyataan SQL.
- aggregate_function
- Ini adalah fungsi agregat MySQL seperti fungsi SUM, COUNT, MIN, MAX, atau AVG.
- aggregate_expression
- Ini adalah kolom atau ekspresi yang akan digunakan oleh fungsi aggregate.
- tables
- Tabel yang ingin Anda ambil dari arsip. Paling tidak ada satu tabel yang tercantum dalam klausa FROM.
- WHERE conditions
- Pilihan. Ini adalah kondisi yang harus dipenuhi agar catatan bisa dipilih.
- ORDER BY expression
- Pilihan. Ekspresi yang digunakan untuk mengurutkan catatan di set hasil. Jika lebih dari satu ekspresi diberikan, nilai harus dipisahkan koma.
- ASC
- Pilihan. ASC mengurutkan hasil yang ditetapkan dalam urutan menaik menurut ungkapan. Ini adalah perilaku default, jika tidak ada pengubah provider.
- DESC
- Pilihan. DESC mengurutkan hasil yang ditetapkan dalam urutan menurun menurut ungkapan.
Contoh – Menggunakan GROUP BY dengan Fungsi SUM
Mari kita lihat bagaimana menggunakan clause MySQL GROUP BY dengan fungsi aggregate MySQL SUM.
Dalam contoh ini, kita memiliki tabel yang disebut karyawan dengan data sebagai berikut:
| employee_number | last_name | first_name | salary | dept_id |
|---|---|---|---|---|
| 1001 | Smith | John | 62000 | 500 |
| 1002 | Anderson | Jane | 57500 | 500 |
| 1003 | Everest | Brad | 71000 | 501 |
| 1004 | Horvath | Jack | 42000 | 501 |
Masukkan pernyataan SQL berikut ini:
|
1 2 3 |
SELECT dept_id, SUM(salary) AS total_salaries FROM employees GROUP BY dept_id; |
Akan ada 2 record yang dipilih. Inilah hasil yang harus Anda lihat:
| dept_id | total_salaries |
|---|---|
| 500 | 119500 |
| 501 | 113000 |
Dalam contoh ini, kita telah menggunakan fungsi aggregate MySQL SUM untuk menambahkan semua gaji untuk masing-masing dept_id dan kita telah mengetahui hasil fungsi aggregate MySQL SUM sebagai total_salaries. Karena dept_id tidak dienkapsulasi dalam fungsi SUM, maka harus tercantum dalam klausa GROUP BY.