Sharing Everything From My Experience And Knowlegde |
T-SQL : Belajar SQL Query GROUPING (Group By) dan HAVING Dengan Mudah Posted: 13 Aug 2013 11:51 PM PDT Grouping pada sql adalah untuk mengelompokan data, agar data yang sama tampil manjadi satu baris saja (tidak duplikat). Hal ini hampir sama dengan dengan DISTINCT, tetapi bedanya adalah Grouping bisa kita gunakan juga untuk fungsi SUM, AVG, MAX, MIN, COUNT, dan memang fungsi fungsi tersebut harus di-run dengan Grouping. OK, Langsung saja ke contoh : saya mempunyai data seperti dibawah ini : 1.Jika kita ingin mengetahui kode_group apa saja yang ada di table barang :SELECT KODE_GROUP FROM BARANG GROUP BY KODE_GROUP KODE_GROUP G001 G002 G003 ini sebenarnya sama dengan : SELECT DISTINCT KODE_GROUP FROM BARANG 2. Jika kita ingin mengetahui berapa jumlah stock yang dipasok supplier : SELECT KODE_SUPPLIER, SUM(STOCK) AS JUMLAH_STOCK FROM BARANG GROUP BY KODE_SUPPLIER KODE_SUPPLIER JUMLAH_STOCK 40 S001 30 S002 55 3.Jika kita ingin mengetahui berapa harga tertinggi yang di pasok oleh supplier : SELECT KODE_SUPPLIER, MAX(HARGA) AS HARGA_TERTINGGI FROM BARANG GROUP BY KODE_SUPPLIER KODE_SUPPLIER HARGA_TERTINGGI 25000 S001 60000 S002 30000 4.Jika kita ingin mengetahui berapa jumlah barang yang di pasok oleh supplier : SELECT KODE_SUPPLIER, COUNT( KODE_BARANG) AS JUMLAH_BARANG FROM BARANG GROUP BY KODE_SUPPLIER KODE_SUPPLIER JUMLAH_BARANG 1 S001 2 S002 2 Lihatlah, yang saya warnai merah, intinya setiap kolom/field yang kita select HARUS ada/disebutkan juga setelah GROUP BY HAVING adalah penggantinya WHERE dalam GROUPING, tapi kita juga masih bisa gunakan where dalam grouping. Having digunakan jika field yang kita select sebagai grouping akan dijadikan kriteria (ada kriteria-nya), kita ambil contoh diatas nomor 3 : Ambil data harga tertinggi dari supplier S001 SELECT KODE_SUPPLIER, MAX(HARGA) AS HARGA_TERTINGGI FROM BARANG GROUP BY KODE_SUPPLIER HAVING KODE_SUPPLIER='S001' KODE_SUPPLIER HARGA_TERTINGGI S001 60000 Sedangkan WHERE adalah kebalikan dari HAVING, yaitu digunakan jika ada kriteria yang field-nya tidak disebutkan dalam Select Grouping, contoh : Ambil data harga tertinggi dari supplier yang tidak blank dimana kode barangnya B005SELECT KODE_SUPPLIER, MAX(HARGA) AS HARGA_TERTINGGI FROM BARANG WHERE KODE_BARANG = 'B005' GROUP BY KODE_SUPPLIER HAVING KODE_SUPPLIER<>'' KODE_SUPPLIER HARGA_TERTINGGI S002 30000 Tags: cara group by, sql statement group by, contoh t-sql sum, contoh t-sql avg, contoh t-sql min, contoh t-sql max, contoh t-sql count,perbedaan having dan where pada sql query |
You are subscribed to email updates from Djiesoft, All About Source Code To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
No comments:
Post a Comment