Fungsi DISTINCT() dan GROUP BY() yang terdapat pada MySQL Server merupakan sama-sama fungsi pengelompokkan data dengan menghilangkan duplikat data pada tabel MySQL Server hanya saja ada beberapa perbedaan yang sangat mencolok. Untuk fungsi DISTINCT() dalam pengelompokkan data row(baris) yang bersifat unik dan bisa disandingkan dengan fungsi AGREGAT (SUM, COUNT, MAX, MIN, AVG) akan tetapi hanya menghasilkan 1 baris row saja, sedangkan fungsi GROUP BY() bisa disandingkan dengan fungsi AGREGAT dapat menghasilkan beberapa baris row sesuai dengan nama field yang dipilih dan bersifat unik . Langsung saja masuk ke pokok pembahasan pertama-tama buatlah sebuah table dengan nama tbl_kdbarang
CREATE TABLE `tbl_kdbarang` (`KDBARANG` varchar(20) NOT NULL default '-') ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;
Selanjutnya coba kita inputkan
INSERT INTO `tbl_kdbarang` (`KDBARANG`) VALUES('001'),('006'),('002'),('001'),('001'),('002'),('002'),('001'),('005'),('006'),('001'),('007'),('009'),('010'),('010'),('001'),('004'),('002'),('007');
Hasilnya
Coba kita perhatian tabel diatas ada beberapa KDBARANG yang sama dan sekarang coba kita jalankan Fungsi DISTINCT() untuk menghilangkan KDBARANG yang sama dan hanya dikelompokkan menjadi 1 data saja.
Select DISTINCT KDBARANG from tbl_kdbarang;
Hasilnya
Kemudian dengan tabel yang sama coba kita menjalankan Fungsi GROUP BY() dan kita lihat hasilnya
Select KDBARANG from tbl_kdbarang group By KDBARANG;
Select KDBARANG,COUNT(*) from tbl_kdbarang group By KDBARANG;
Maka hasilnya
Sekarang untuk Fungsi DISTINCT() akan admin sandingkan dengan salah satu fungsi Agregat yaitu COUNT(), maka hasilnya
SELECT DISTINCT COUNT(KDBARANG) FROM tbl_kdbarang;
Dari hasil uji diatas antara Fungsi DISTINCT() dan GROUP BY() Pada MySQL Server dapat ditarik kesimpulan bahwa penggunaan DISTINCT() adalah untuk menghapus duplikat row (baris) dan mengelompokan row (baris) data secara unik. Namun kelemahannya adalah SELECT DISTINCT() tidak dapat mengelompokan data sekaligus berpasangan dengan Fungsi Agregat dan hal tersebut hanya dapat dilakukan dengan menggunakan Fungsi GROUP BY().
0 Response to "Perbedaan Fungsi DISTINCT() dan GROUP BY() Pada MySQL Server"
Post a Comment
1. Dilarang menjadikan referensi tanpa mencantumkan sumbernya
2. Berkomentar yang relevan sesuai artikel
3. Gunakan bahasa yang baik dan santun