Bila ada sejumlah besar data, kami sering melihat kemungkinan untuk memanipulasi data sesuai dengan kebutuhan kami. Klausa GROUP BY adalah salah satu pernyataan dalam SQL, digunakan untuk mengelompokkan data berdasarkan beberapa kolom, atau pada kondisi. Pada artikel tentang Pernyataan SQL GROUP BY ini, saya akan membahas beberapa cara untuk menggunakan pernyataan GROUP BY dalam urutan berikut:
- Pernyataan GROUP BY
- Sintaks
- Contoh:
- Gunakan GROUP BY pada satu kolom
- GROUP BY pada beberapa kolom
- Gunakan GROUP BY dengan ORDER BY
- GROUP BY dengan klausa HAVING
- Gunakan GROUP BY dengan GABUNG
Sebelum kita beralih ke contoh tentang cara menggunakan klausa GROUP BY, mari kita pahami apa itu GROUP BY dalam SQL dan sintaksnya.
Pernyataan SQL GROUP BY
Pernyataan ini digunakan untuk mengelompokkan record yang memiliki nilai yang sama. Pernyataan GROUP BY sering digunakan dengan fungsi agregat untuk mengelompokkan hasil menurut satu atau lebih kolom. Selain itu, klausa GROUP BY juga digunakan dengan klausa HAVING dan JOINS untuk mengelompokkan kumpulan hasil berdasarkan kondisi.
SQL GROUP BY Sintaks
SELECT Column1, Column2,..., ColumnN FROM TableName WHERE Condition GROUP BY ColumnName(s) ORDER BY ColumnName(s);
Di sini, Anda dapat menambahkan fungsi agregat sebelum nama kolom, dan juga klausa HAVING di akhir pernyataan untuk menyebutkan suatu kondisi. Selanjutnya, dalam artikel tentang SQL GROUP BY ini, mari kita pahami cara mengimplementasikan pernyataan ini.
Contoh:
Untuk pemahaman yang lebih baik, saya telah membagi contoh menjadi beberapa bagian berikut:
- Gunakan GROUP BY pada satu kolom
- GROUP BY pada beberapa kolom
- Gunakan GROUP BY dengan ORDER BY
- GROUP BY dengan klausa HAVING
- Gunakan GROUP BY dengan GABUNG
Saya akan mempertimbangkan tabel berikut untuk menjelaskan kepada Anda contoh-contohnya:
EmpID | NamaEmp | EmpEmail | Nomor Telepon | Gaji | Kota |
1 | Nidhi | 9955669999 | 50.000 | Mumbai | |
2 | Anay | 9875679861 | 55000 | Pune | |
3 | Rahul | 9876543212 | 35000 | Delhi | |
4 | Sonia | 9876543234 | 35000 | Delhi | |
5 | Akash | 9866865686 | 25000 | Mumbai |
Mari kita lihat satu per satu.
Gunakan SQL GROUP BY pada satu kolom
Contoh:
Tulis kueri untuk mengambil jumlah karyawan di setiap kota.
SELECT COUNT(EmpID), City FROM Employees GROUP BY City;
Keluaran:
Anda akan melihat output berikut:
Hitung(EmpID) | Kota |
2 | Delhi |
2 | Mumbai |
1 | Pune |
Gunakan SQL GROUP BY pada beberapa kolom
Contoh:
Tulis kueri untuk mendapatkan jumlah karyawan yang memiliki gaji berbeda di setiap kota.
SELECT City, Salary, Count(*) FROM Employees GROUP BY City, Salary;
Keluaran:
Tabel akan memiliki data berikut:
Kota | Gaji | Hitung(*) |
Delhi | 35000 | 2 |
Mumbai | 25000 | 1 |
Mumbai | 50.000 | 1 |
Pune | 55000 | 1 |
Gunakan SQL GROUP BY dengan ORDER BY
Bila kita menggunakan pernyataan SQL GROUP BY dengan klausa ORDER BY, nilainya akan diurutkan dalam urutan menaik atau menurun.
Contoh:
Tulis kueri untuk mengambil jumlah karyawan di setiap kota, diurutkan dalam urutan menurun.
SELECT COUNT(EmpID), City FROM Employees GROUP BY City ORDER BY COUNT(EmpID) DESC;
Keluaran:
Tabel akan memiliki data berikut:
Hitung(EmpID) | Kota |
2 | Delhi |
2 | Mumbai |
1 | Pune |
Gunakan SQL GROUP BY dengan klausa HAVING
Pernyataan SQL GROUP BY digunakan dengan klausa 'HAVING' untuk menyebutkan kondisi pada grup. Selain itu, karena kita tidak dapat menggunakan fungsi agregat dengan klausa WHERE, kita harus menggunakan klausa 'HAVING' untuk menggunakan fungsi agregat dengan GROUP BY.
Contoh:
Tulis kueri untuk mengambil jumlah karyawan di setiap kota, dengan gaji> 15000
SELECT COUNT(EmpID), City FROM Employees GROUP BY City HAVING SALARY > 15000;
Keluaran:
Karena semua record pada tabel Employee memiliki gaji> 15000, maka akan terlihat tabel berikut sebagai outputnya:
Hitung(EmpID) | Kota |
2 | Delhi |
2 | Mumbai |
1 | Pune |
Gunakan GROUP BY dengan GABUNG
JOIN adalah pernyataan SQL yang digunakan untuk menggabungkan baris dari dua tabel atau lebih, berdasarkan kolom terkait di antara tabel tersebut. Kita dapat menggunakan pernyataan SQL GROUP BY untuk mengelompokkan kumpulan hasil berdasarkan kolom/kolom. Pertimbangkan tabel di bawah ini untuk mengeksekusi pernyataan JOIN dengan klausa SQL GROUP BY.
Tabel Proyek:
ProjectID | EmpID | IDKlien | Tanggal Proyek |
2345 | 1 | 4 | 26-01-2019 |
9876 | 2 | 5 | 28-02-2019 |
3456 | 3 | 6 | 03-12-2019 |
Tabel Klien:
ID Klien | NamaKlien |
4 | Sanjana |
5 | Rohan |
6 | Arun |
Contoh
Tulis kueri untuk membuat daftar jumlah proyek yang diminta oleh setiap klien:
SELECT Clients.ClientName, COUNT(Projects.ProjectID) AS RequestedProjects FROM Projects LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID GROUP BY ClientName;
Keluaran:
Tabel akan memiliki data berikut:
NamaKlien | Proyek yang Diminta |
Arun | 1 |
Rohan | 1 |
Sanjana | 1 |
Dengan itu, kita sampai pada akhir artikel SQL GROUP BY. Lihat ini Pelatihan Sertifikasi DBA MySQL oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan olebih dari 250.000 pelajar yang puas tersebar di seluruh dunia. Kursus ini melatih Anda tentang konsep inti &alat dan teknik lanjutan untuk mengelola data dan mengelola Database MySQL. Ini mencakup pembelajaran langsung tentang konsep-konsep seperti MySQL Workbench, Server MySQL, Pemodelan Data, Konektor MySQL, Desain Basis Data, Baris Perintah MySQL, Fungsi MySQL, dll. Di akhir pelatihan, Anda akan dapat membuat dan mengelola Basis Data MySQL Anda sendiri dan mengelola data.
Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar artikel “SQL GROUP BY” ini dan kami akan menghubungi Anda sesegera mungkin.