Fungsi GROUP BY dan HAVING Pengelompokkan Data di MySQLServer

Baca Juga :

Database MySQL Server merupakan salah perangkat lunak untuk penyimpanan data (basis data) yang sangat tidak asing lagi bagi kalangan programmer. Salah satu fiture coding yang terdapat pada MySQL Server yaitu GROUP BY dan HAVING kedua coding ini sangat erat berkaitan dalam pengelompokkan data. Langsung saja pada pokok pembahasan buka MySQL Server yang ada pada PC agan, untuk mempermudah admin menggunakan aplikasi tambahan EMS SQL Manager 2005 for MySQL kemudian buatlah satu database terlebih dahulu, untuk penamaan databasenya sesuai selera agan. Kemudian buatlah sebuah tabel dengan coding berikut : 

CREATE TABLE `tblpenjualan` (
  `FAKTUR` varchar(50) default '-',
  `TANGGAL` date default NULL,
  `IDBARANG` varchar(50) default '-',
  `NMBARANG` varchar(50) default '-',
  `HRGBELI` double(15,2) default '0.00',
  `JUMBRG` int(20) default '0',
  `SATUAN` varchar(10) default '-',
  `HRGJUAL` double(15,2) default '0.00'
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
Untuk mempersingkat waktu penginputkan data pada tabel tblpenjualan agan dapat menjalankan coding dibawah ini
INSERT INTO `tblpenjualan` (`FAKTUR`, `TANGGAL`, `IDBARANG`, `NMBARANG`, `HRGBELI`, `JUMBRG`, `SATUAN`, `HRGJUAL`) VALUES
  ('202006050000001', '2020-06-05', '8992388111206', 'ABC GULAI PEDAS 70 Gram', 3000, 8, 'BUNGKUS', 6000),
  ('202006060000002', '2020-06-06', '8992388111206', 'ABC GULAI PEDAS 70 Gram', 3000, 5, 'BUNGKUS', 6000),
  ('202006060000002', '2020-06-06', '0711844330115', 'ABC SARDINES SAUS CABAI 425G', 1000, 3, 'BUNGKUS', 2500),
  ('202006060000002', '2020-06-06', '711844120082', 'ABC SAMBAL EXSTRA PEDAS 135ML', 43000, 5, 'BUNGKUS', 48300),
  ('202006060000002', '2020-06-06', '8992772586030', 'ADEM SARI CINGKUI SPARKLING', 500, 3, 'BUNGKUS', 1000),
  ('202006080000003', '2020-06-08', '7118441101378', 'ABC KECAP MANIS 520ML', 5000, 5, 'BUAH', 8000),
  ('202006080000003', '2020-06-08', '0711844330115', 'ABC SARDINES SAUS CABAI 425G', 1000, 2, 'BUNGKUS', 2500),
  ('202006080000003', '2020-06-08', '0711844330108', 'ABC SARDINES SAUS CABAI 155G', 20000, 4, 'BUNGKUS', 21000),
  ('202006080000003', '2020-06-08', '8992772586030', 'ADEM SARI CINGKUI SPARKLING', 500, 4, 'BUNGKUS', 1000),
  ('202006100000004', '2020-06-10', '8991002101630', 'ABC KOPI SUSU 31 GRAM', 3000, 9, 'BUNGKUS', 5000),
  ('202007020000001', '2020-07-02', '711844162419', 'ABC KACANG HIJAU 250 ML', 3000, 10, '3900', 5000),
  ('202007020000001', '2020-07-02', '8991002101630', 'ABC KOPI SUSU 31 GRAM', 3000, 20, '10300', 5000),
  ('202007020000002', '2020-07-02', '711844162419', 'ABC KACANG HIJAU 250 ML', 3000, 5, '3900', 5000),
  ('202007020000002', '2020-07-02', '7118441101378', 'ABC KECAP MANIS 520ML', 5000, 9, 'BOTOL', 8000),
  ('202007080000003', '2020-07-08', '711844162419', 'ABC KACANG HIJAU 250 ML', 3000, 3, '3900', 5000),
  ('202007080000003', '2020-07-08', '711844120082', 'ABC SAMBAL EXSTRA PEDAS 135ML', 43000, 2, '5500', 48300),
  ('202007080000003', '2020-07-08', '711844340008', 'ABC TERASI UDANG', 700, 2, '5600', 1500),
  ('202007210000004', '2020-07-21', '108', 'A MILD 16', 19000, 4, 'PCS', 22000),
  ('202007210000004', '2020-07-21', '7118441101378', 'ABC KECAP MANIS 520ML', 5000, 3, 'BOTOL', 8000);
COMMIT;
Untuk melihat data pada tabel tblpenjualan yang baru kita jalankan coding diatas select * from tblpenjualan, maka layoutnya seperti gambar di bawah ini : 

Fungsi GROUP BY dan HAVING Pengelompokan Data di MySQLServer

Sekarang coba kita akan menjalan coding GROUP BY terlebih dahulu pada tblpenjualan dengan field yang dikelompokkan yaitu IDBARANG

Fungsi GROUP BY dan HAVING Pengelompokkan Data di MySQLServer

Layout diatas merupakan hasil eksekusi dari coding select * from tblpenjualan GROUP BY IDBARANG. Terlihat data semakin sedikit dan telah dikelompokkan berdasarkan field IDBARANG. Coba kita menambahkan field dari Total perkalian antara field JUMBRG dan field HRGJUAL yang telah di group
SELECT FAKTUR,TANGGAL,IDBARANG,NMBARANG,
HRGBELI,JUMBRG,SATUAN,HRGJUAL,
SUM(HRGJUAL*JUMBRG) as SUBTOTAL 
FROM tblpenjualan GROUP BY IDBARANG;

Fungsi GROUP BY dan HAVING Pengelompokkan Data di MySQLServer

Terlihat ada penambahan field SUBTOTAL pada tabel tblpenjualan diatas. Sekarang coba kita akan menambahkan HAVING dengan berpatokan harga SUBTOTAL lebih dari 100000
SELECT FAKTUR,TANGGAL,IDBARANG,NMBARANG,HRGBELI,
JUMBRG,SATUAN,HRGJUAL,SUM(HRGJUAL*JUMBRG) as SUBTOTAL FROM tblpenjualan
GROUP BY IDBARANG HAVING SUM(HRGJUAL*JUMBRG)>100000;
Maka tampilan layout dengan coding diatas 

Fungsi GROUP BY dan HAVING Pengelompokkan Data di MySQLServer

Data yang tampil diatas merupakan data total perkalian dari HRGJUAL dan JUMBRG lebih dari atau sama dengan 100000. Semoga artikel diatas dapat bermanfaat dan terima kasih banyak atas kunjungannya.

Subscribe untuk berlangganan artikel :

0 Response to "Fungsi GROUP BY dan HAVING Pengelompokkan Data di MySQLServer"

Post a Comment

1. Dilarang menjadikan referensi tanpa mencantumkan sumbernya
2. Berkomentar yang relevan sesuai artikel
3. Gunakan bahasa yang baik dan santun