Perbedaan Fungsi DISTINCT() dan GROUP BY() Pada MySQL Server

Baca Juga :
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
Perbedaan Fungsi DISTINCT() dan GROUP BY() Pada MySQL Server

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

Perbedaan Fungsi DISTINCT() dan GROUP BY() Pada MySQL Server
Kemudian dengan tabel yang sama coba kita menjalankan Fungsi GROUP BY() dan kita lihat hasilnya
Select KDBARANG from tbl_kdbarang group By KDBARANG;
Perbedaan Fungsi DISTINCT() dan GROUP BY() Pada MySQL Server
Hasilnya sama bukan antara Fungsi DISTINCT() dan GROUP BY(), sekarang akan admin sandingkan Fungsi 
GROUP BY() dengan salah satu Fungsi Agregat yaitu COUNT()
Select KDBARANG,COUNT(*) from tbl_kdbarang group By KDBARANG;
Maka hasilnya
Perbedaan Fungsi DISTINCT() dan GROUP BY() Pada MySQL Server
Sekarang untuk Fungsi DISTINCT() akan admin sandingkan dengan salah satu fungsi Agregat yaitu COUNT(), maka hasilnya
SELECT DISTINCT COUNT(KDBARANG) FROM tbl_kdbarang;
Perbedaan Fungsi DISTINCT() dan GROUP BY() Pada MySQL Server

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().

Subscribe untuk berlangganan artikel :

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