MySQL Group BY – Mengelompokkan Data Berdasarkan Kondisi

MySQL Group BY digunakan untuk menampilkan data yang sama di sebuah kolom. Data sama tersebut dapat dihitung berapa jumlahnya. Sebagai contoh data alamat siswa dibawah ini:

Group By Alamat
Data Alamat Siswa

Dari tabel siswa di atas terlihat bahwa siswa berasal dari beragam alamat. untuk menampilkan dari mana – mana saja alamat siswa dapat digunakan query group by di bawah ini.

Sebelumnya terlebih dahulu buatlah database dan tabel siswa di phpmyadmin;

Cara Membuat database di phpmyadmin

Contoh Group By

SELECT alamat FROM siswa GROUP BY alamat

Output Query:

contoh mysql
Menampilkan data alamat dengan Group By

Dengan menggunakan query select dengan group by dapat ditampilkan bahwa data alamat siswa terdiri atas 3 alamat saja yaitu bandung, bogor dan jakarata. Selanjutnya hal yang ingin kita lakukan adalah menampilkan jumlah siswa yang berasal dari bandung, bogor dan jakarta.

Contoh MySQL Group By dengan Count

Untuk menghitung jumlah siswa yang beralamat di bandung, Bogor dan Jakarta dapat digunakan query di bawah ini.

SELECT alamat, COUNT(id_siswa) FROM siswa GROUP BY alamat

Output Query:

contoh mysql Group by count
Count alamat siswa

Dapat diilihat bahwa kita telah berhasil menghitung jumlah siswa berdasarkan alamat, jumlah siswa yang memiliki alamat di Bandung ada 4 orang, yang berlamat di Bogor 1 orang dan yang berlamat di Jakarta 5 orang.

Group By dengan Count dan Order By

Data yang telah digroup menggunakan Group By juga Bisa ditampilkan menurut urutan ASC, atau DESC dengan menggunakan Order By

SELECT alamat, COUNT(id_siswa) FROM siswa GROUP BY alamat ORDER BY COUNT(id_siswa) DESC

Output Query

mengelompokkan Count(id_siswa) DESC
Group By Count(id_siswa) DESC

Dengan Menggunakan group by serta count dan order by data yang ditampilkan akan dikelompokkan, dihitung dan diurutkan berdasarkan jumlah. Pengelompokan jumlah dari jumlah terbanyak ke jumlah lebih sedikit menggunakan count(id_siswa) DESC. Jika ingin menampilkan jumlah alamat berdasarkan urutan dari yang sedikit ke jumlah banyak dapat menggunakan coun(id_siswa) ASC.

Group By dengan Where

Untuk menampilkan jumlah siwa laki-laki yang berasal dari jakarta, bandung dan bogor kita dapat mengkombinasikan group by dengan where seperti query di bawah ini

SELECT alamat, COUNT(id_siswa) FROM siswa WHERE jenis_kelamin=’laki-laki’ GROUP BY alamat

Output Query

 GroupBy dengan Where Laki-laki
Group By dengan Where

Dengan menggunakan query group by dengan where kita mengetahui bahwa siswa laki-laki yang berasal dari bandung berjumlah 2 orang, dari bogor 1 orang dan jakarta 1 orang.

Selanjutnya untuk mengetahui jumlah siswa perempuan dari masing masing kota tersebut dapat digunakan query ini

MySQL Query dengan Where Perempuan
MySQL Query dengan Where

Demikianlah tutuorial tentang mysql group by. Semoga dapat membantu dalam memahami manipulasi database.

Leave a comment