group functions

advertisement
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
Download