DATA AGREGAT MENGGUNAKAN GROUP FUNCTIONS SYAIFUL HUDA, S.Kom Group Functions • Tidak seperti singlerow function, group function beroperasi pada sekelompok baris baris. • Untuk memberikan satu hasil per kelompok. Kelompok-kelompok ini mungkin terdiri dari seluruh table atau tabel yang terpisah ke dalam pengelompokkan • Group by digunakan bersamaan dengan Fungsi Aggregate MySQL Fungsi Aggregate • • Adalah fungsi yang digunakan untuk menghitung nilai dari sebuah nilai atau sekelompok nilai berdasarkan kegunaan fungsi tersebut : Fungsi Aggregate terdiri dari : 1. SUM () digunakan untuk menjumlahkan nilai 2. AVG() digunakan untuk menghitung rata-rata 3. MIN() digunakan untuk mencari nilai terkecil 4. MAX() digunakan untuk mencari nilai terbesar 5. COUNT() digunakan untuk menghitung baris atau nilai Struktur Syntax : • select column, group_function from table where condition] Group By group_by_expression] Having group_condition] Order By column]; Contoh Fungsi Aggregate Menampilkan saldo yang nilainya terkecil pada table tb_rekening. -> select min (saldo) from tb_rekening Menampilkan saldo yang nilainya terkecil pada table rekening yang dimiliki oleh kode cabang BRUS. -> select min (saldo) from rekening where kode_cabang = 'BRUS' Menampilkan saldo yang nilainya terbesar pada table rekening. -> select max (saldo) from rekening Menampilkan saldo yang nilainya terbesar pada table rekening yang dimiliki oleh kode cabang BRUS. -> select max (saldo) from rekening where kode_cabang = 'BRUS' Menampilkan semua Jumlah Record atau baris yang ada di table nasabah -> select count (*) from nasabah Group By Clause dengan Multiple Columns Contoh : select department_id, avg(salary) employees group by department_id from menampilkan dept_id , job_id beserta dengan rata-rata salary dimana rata-rata salarynya didapatkan dengan mengelompokkan department_id terlebih dahulu lalu setelah itu dikelompokkan berdasarkan job_id. Intinya, kita ingin mencari rata-rata salary dari tiap job_id dimana job_id tersebut terdapat dalam department_id yang sama Menggunakan Having Clause Contoh : select department_id, max(salary) from employees group by department_id having max(salary)>10000 Menampilan salary terbesar pada tiap department_id dimana rata-rata salary nya lebih besar dari 110000. Perlu diperhatikan bahwa MAX(salary)>10000 harus diletakkan pada fungsi HAVING dan tidak bisa diletakkan pada fungsi WHERE karena MAX(salary) merupakan suatu Group Function Group Functions dan Nilai Nilai Null • Group Functions dan Nilai Nilai Null • Semua group functions mengabaikan nilai nilai null dalam kolom. • Fungsi NVL memaksa group functions untuk menyertakan nilai nilai null. Klausa GROUP BY • Anda dapat menggunakan klausa GROUP BY untuk membagi baris baris dalam suatu tabel menjadi kelompok kelompok. • Kemudian Anda dapat menggunakan group functions untuk mengembalikan informasi ringkas untuk setiap kelompok. • Dalam sintak : Group_by_expression kolom kolom tertentu yang nilai nilainya menentukan dasar untuk pengelompokan baris baris Pedoman pedoman • Jika anda menyertakan group functions pada klausa SELECT, anda tidak dapat memilih hasilhasil secara individu dengan baik, kecuali kolom individu muncul pada klausa GROUP BY. • Anda akan menerima pesan kesalahan jika anda keliru menyertakan daftar kolom di klausa GROUP BY. • Menggunakan klausa WHERE, anda dapat mengeluarkan baris baris sebelum membaginya kedalam kelompok kelompok. • Anda harus menyertakan kolom kolom dalam klausa GROUP BY. • Anda tidak dapat menggunakan kolom alias dalam klausa GROUP BY. SELESAI