Last Updated on September 9, 2021 by
Pada pembahasan seri Tutorial SQL ke- 20 ini, Codekey akan membahas tentang GROUP BY yang merupakan statement di dalam SQL yang digunakan untuk mengatur data yang identik ke dalam kelompok dengan bantuan beberapa fungsi, yaitu jika kolom tertentu memiliki nilai yang sama di baris yang berbeda maka ia akan mengatur baris ini dalam grup. Jika Anda tertarik dengan pembahasan Codekey kali ini, simak terus artikel ini sampai akhir.
Tabel Employee
No | Name | Salary |
1 | Joni | 4.100.000 |
2 | Tera | 8.500.000 |
3 | Andra | 3.150.000 |
4 | Joni | 4.100.000 |
5 | Andra | 3.150.000 |
Table of Contents
GROUP BY SQL: Sebuah Penjelasan
Klausa SQL GROUP BY digunakan dengan pernyataan SELECT untuk mengatur data yang identik ke dalam grup. Klausa GROUP BY ini mengikuti klausa WHERE dalam pernyataan SELECT dan mendahului klausa ORDER BY.
Beberapa hal penting yang perlu Anda catat terkait dengan SQL GROUP BY:
- Klausa SQL GROUP BY ini digunakan dengan SELECT statement.
- Di dalam klausa SQL query GROUP BY ditempatkan setelah klausa WHERE.
- Di dalam klausa SQL query GROUP BY ditempatkan sebelum klausa ORDER BY jika developer menggunakannya.
Berikut ini adalah syntax dari klausa GROUP BY yang ditunjukan di dalam code block di bawah ini. Klausa GROUP BY harus mengikuti kondisi di dalam klausa WHERE dan harus mendahului klausa ORDER BY jika digunakan.
SELECT column1, function_name(column2) FROM table_name WHERE condition GROUP BY column1, column2 ORDER BY column1, column2; function_name: Nama function yang digunakan pada contoh, SUM() , AVG(). table_name: nama tabel. condition: kondisi.
Contoh Penerapan GROUP BY dalam Kolom
-
GROUP BY Single Column
GROUP BY single column berarti, jika Anda ingin menempatkan semua baris dengan nilai yang sama hanya kolom tertentu dalam satu grup. Pertimbangkan untuk membuat queri seperti yang ditunjukkan di bawah ini:
SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAME;
Query ini akan menghasilkan output seperti di bawah ini:
Name | Salary |
Andra | 6.300.000 |
Joni | 8.200.000 |
Tera | 8.500.000 |
Seperti yang Anda lihat pada output di atas, baris dengan NAME duplikat dikelompokkan di bawah NAME yang sama dan SALARY yang sesuai adalah jumlah dari SALARY baris duplikat. Fungsi SUM() dari SQL digunakan di sini untuk menghitung jumlah.
2. GROUP BY multiple column
GROUP BY multiple column sebagai contoh GROUP BY column1, column 2. Hal ini berarti Anda menempatkan semua baris dengan nilai yang sama dari kolom column1 dan column2 dalam satu grup. Pertimbangkan query di bawah ini:
SELECT SUBJECT, YEAR, Count(*) FROM Student GROUP BY SUBJECT, YEAR;
Output:
SUBJECT | YEAR | Count |
Biologi | 2 | 3 |
Fisika | 1 | 2 |
Kimia | 1 | 2 |
Seperti yang Anda lihat pada output di atas, siswa dengan SUBJECT dan YEAR yang sama ditempatkan dalam kelompok yang sama. Dan mereka yang hanya SUBJECT-nya sama tetapi tidak dengan YEAR termasuk dalam kelompok yang berbeda. Jadi disini kita sudah mengelompokkan tabel menurut dua kolom atau lebih dari satu kolom.
Klausa HAVING
Kita tahu bahwa klausa WHERE digunakan untuk menempatkan kondisi pada kolom tetapi bagaimana jika kita ingin menempatkan kondisi pada ‘group’?
Di sinilah klausa HAVING mulai digunakan. Kita dapat menggunakan klausa HAVING untuk menempatkan kondisi untuk memutuskan grup mana yang akan menjadi bagian dari kumpulan hasil akhir. Kami juga tidak dapat menggunakan fungsi agregat seperti SUM(), COUNT() dan lain sebagainya.
Syntax: SELECT column1, function_name(column2) FROM table_name WHERE condition GROUP BY column1, column2 HAVING condition ORDER BY column1, column2; function_name: Nama function yang digunakan pada contoh, SUM() , AVG(). table_name: nama tabel. condition: kondisi.
Contoh: SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAME HAVING SUM(SALARY)>8000000;
Output:
NAME | SUM (SALARY) |
Joni | 8.200.000 |
Tera | 8.500.000 |
Seperti yang Anda lihat pada output di atas, hanya satu grup dari tiga grup yang muncul di set hasil karena ini adalah satu-satunya grup di mana jumlah GAJI lebih besar dari 8.000.000. Jadi kami telah menggunakan klausa HAVING di sini untuk menempatkan kondisi ini sebagai syarat harus ditempatkan pada kelompok bukan kolom.
Demikianlah penjelasan SQL GROUP BY yang harus Anda pahami untuk melakukan pemrograman SQL. Jika Anda tertarik untuk belajar lebih banyak tentang SQL, Anda bisa belajar SQL bersama Codekey. Codekey adalah situs untuk Anda belajar berbagai bahasa pemrograman seperti Python, JavaScript, dan berbagai bahasa pemrograman lainnya.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.