Mengelompokan Data di MySQL dengan Group By

Ditulis Oleh:
cara menggunakan group by di mysql - pengelompokan data Mysql

Cara menggunakan Group By di MySQL – Pengelompokan data di MySQL dapat dilakukan dengan menggunakan perintah GROUP BY. Pengelompokan data bertujuan untuk mengelompokan data yang sama di dalam suatu tabel menjadi satu kelompok data. Maanfaat dari pengelompokan data ini adalah untuk membantu kita mengelompokan data yang banyak dan bervariasi kedalam satu kelompok data yang sama agar kita mengetahui lebih cermat terkait jumlah data yang banyak namun dapat diringkas dalam kelompok data tertentu.

Baca juga:

Contoh sederhananya seperti ini, misalnya terdapat 100 mahasiswa. Dari 100 mahasiswa tersebut kita ingin membagikan kedalam kelompok berdasarkan kategori jurusan. Maka dari 100 data mahasiswa tersebut bisa kita kelompokan menjadi 3 atau 5 kelompok (sesuai dengan jumlah jurusan yang ada). Selain itu kita juga dapat mengetahui jumlah dari masing-masing kelompok data tersebut. Fungsi untuk menghitung jumlah kelompok data tersebut kita menggunakan fungsi count(). Baiklah langsung saja mari simak pembahasan Kelas Programmer berikut ini.

Pengenalan Pernyataan (Statement) Group By

Pernyataan Group By adalah pernyataan untuk pengelompokan data berdasarkan kriteria tertentu. Pernyataan ini biasanya sering diikutkan dengan fungsi agregat seperti count,avg, max,min dan sum. Sintak Group By di MySQL dapat dideklarasikan seperti berikut;

SELECT nama_kolom
FROM nama_tabel
GROUP BY nama_kolom;

Contoh Penggunaan Group By

Pada artikel ini saya akan mencontohkan penggunaan pernyataan Group By di database MySQL. Pada artikel sebelumnya tentang cara membuat tabel di mysql, Saya telah membahas bagaimana membuat tabel mahasiswa menggunakan cmd (Command Prompt).

Membuat Tabel Mahasiswa

create table mahasiswa (
    nik char(10) not null primary key,
    nama varchar(50) not null,
    jk char(1),
    tanggal_lhr date,
    jurusan char(2),
    umur int
    );
deskripsi tabel mahasiswa

Pada tutorial kali ini saya menggunakan tabel tersebut untuk menjelasakan kepada teman-teman semua terkait penggunaan group by di mysql ini. Didalam tabel tersebut saya menambahkan 15 data mahasiswa. Sintaknya seperti berikut:

Menambahkan 15 Data kedalam tabel mahasiswa

INSERT INTO mahasiswa
VALUES ('135410156','Ahmad Riko','1','1995-02-23','TI',22),
('135610157','Dahlan Iskan','1','1998-03-26','SI',20),
('135410189','Wawan Setiawan','1','1993-02-13','TI',23),
('135310156','Safitri Ayu','2','1995-09-01','TK',22),
('135310150','Rian Hidayat','1','1997-08-05','TK',20),
('135510920','Dani Hermawan','1','1996-05-05','SI',23),
('135518322','Nita Daniyatun','2','1994-09-05','TI',23),
('135518900','Mili Wilian','2','1995-10-08','SI',22),
('135510190','Marshel Saraun','1','1993-10-23','MI',23),
('135510191','Nacha Saraun','2','1995-01-13','MI',20),
('135558944','Bayu Mandalika','1','1997-01-15','SI',19),
('158984545','Juan Burnama','1','1993-01-20','SI',24),
('158549583','Candra Sidauruk','1','1994-10-22','TK',23),
('136349343','Kory Ubi','2','1992-10-29','MI',25),
('147343998','Chika Lestari','2','1996-11-12','MI',21);

Setelah saya menambahkan semua data diatas, selanjutnya gambar dibawah adalah tampilan untuk semua data di dalam tabel mahasiswa

semua data mahasiswa

Mengelompokan Data Mahasiswa berdasarkan jurusan

Setelah kita menambah 15 data mahasiswa, sekarang mari coba kita kelompokan data tersebut berdasarkan jurusan.

select jurusan
from mahasiswa
group by jurusan
kelompok data jurusan

Seperti pada hasil outpu diatas dapat terlihat bahwa terdapat 4 kelompok jurusan dari 15 data mahasiswa yang telah kita tambahkan diatas.

Mengetahui Jumlah data dengan fungsi Count()

Untuk mengetahui berapa jumlah mahasiswa yang termasuk dalam 4 kelompok jurusan, kita coba tambahkan fungsi count()

select jurusan,count(*) as jumlah
from mahasiswa
group by jurusan
jumlah mahasiswa per jurusan

Terlihat dari output diatas jumlah mahasiswa untuk masing-masing kelompok data, yang mana jurusan SI (Sistem Informasi) menjadi jurusan yang paling banyak mahasiswa dengan jumlah 5 dari 15 mahasiswa. Diikuti dengan jurusan MI (Manejemen Informatika) dengan jumlah 4 mahasiswa , dan TI (Teknik Informatika) & TK (Teknik Komputer) masing-masing sebanyak 3 mahaiswa.

Pengelompokan Data dengan menggunakan kondisi

Untuk membuat kondisi pada pengelompokan data kita gunakan pernyataan WHERE. Pada contoh ini kita menelompokan data mahasiswa berdasarkan jurusan dengan kondisi hanya mahasiswa dengan jenis kelamin laki-laki atau dengan nilai 1.

Oh ya field jk (jenis kelamin) saya menggunakan tipe data char dengan dengan nilai 1 dan 2. nilai 1 menginisialisasi laki-laki dan 2 untuk perempuan

select jurusan,count(*) as jumlah
from mahasiswa
where jk='1'
group by jurusan
jumlah mahasiswa laki-laki berdasarkan jurusan

Terlihat dari output diatas bahwa mahasiswa dengan jenis kelamin laki-laki atau dengan nilai 1 di field jk ada sebanyak 11 mahasiswa. Mahasiswa laki-laki yang terbanyak ada pada jurusan SI dengan total 4, disusul oleh TI dan TK masing-masing sebanyak 2 mahasiswa. Terakhir jurusan MI dengan 1 mahasiswa laki-laki.

Mengelompokan Data dengan Relasi Tabel

Pengelompokan data tidak hanya dapat dilakukan dengan satu tabel malainkan bisa lebih dari itu. Kita akan coba membuat tabel baru dengan nama jurusan, lalu kemudian kita joinkan kedua tabel tersebut.

relasi antar tabel mahasiswa dan jurusan

Membuat Tabel jurusan

create table jurusan (
  kode_jurusan char(2) not null primary key,
  nama_jurusan varchar(50) not null
);
deskripsi tabel jurusan

Didalam tabel jurusan saya hanya membuat 2 field yang pertama kode_jurusan dengan tipe char dan memiliki panjang karakter 2. Kode_jurusan saya set sebagai kunci utama. Selanjutnya terdapat field nama_jurudan dengan tipe varchar mimiliki panjang karakter 50.

Menambahkan Data Jurusan

insert into jurusan
values ('MI','Manajemen Informatika'),
('SI','Sistem Informasi'),
('TK','Teknik Komputer'),
('TI','Teknik Informatika');
semua data jurusan

Membuat Relasi Tabel dengan perintah Join

Setelah kita berhasil membuat tabel jurusan, artinya kita telah memiliki 2 tabel yang siap untuk di join-kan. Berikut

select kode_jurusan,nama_jurusan,count(*)
from mahasiswa
inner join jurusan on jurusan.kode_jurusan=mahasiswa.jurusan
group by kode_jurusan,nama_jurusan;
group by denga relasi tabel

Terlihat dari hasil output diatas kita berhasil mengelompokan data berdasarkan jurusan yang memiliki relasi antara tabel mahasiswa dan tabel jurusan.

Mungkin anda berminat membaca:

Kesimpulan

Sekian pembahasan mengenai cara menggunakan group by di MySQL ini. Setidaknya terdapat beberapa pembelajaran yang bisa kita belajar, diantaranya penggunaan group by di mysql. Pemanfaatan fungsi count() untuk menghitung jumlah data dalam kelompok tertentu, dan penggunaan kondisi where serta kemudian bagaimana pernyataan group by ini dapat kita implementasikan kedalam suatu relasi tabel. Mungkin penjelasan-penjelasan saya masih secara umum dan belum begtu detail, Oleh sebab itu terus dukung saya untuk kedepannya membahas lebih baik lagi. Silahkan komentar dibawah bila ada pertanyaan terkait pembahasan kita ini.

Setiawan Dimas

Interested on Programming, especially on Website Developping.
Have a bachelor degree from STIMIK Akakom Yogyakarta, majoring in Technical Information.
Focus on Content Writer Programming Website and Internet Marketing
Setiawan Dimas