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 : SUM () digunakan untuk menjumlahkan nilai AVG() digunakan untuk menghitung rata-rata MIN() digunakan untuk mencari nilai terkecil MAX() digunakan untuk mencari nilai terbesar 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) from employees group by department_id 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 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 menyertakangroup functions pada klausa SELECT, anda tidak dapat memilih hasil-hasil 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 menyertakankolom kolom dalam klausa GROUP BY. Anda tidak dapat menggunakan kolom alias dalam klausa GROUP BY.
SELESAI