Anda di halaman 1dari 23

syurfah@gmail.

com

SQL (Structure Query Language)


Pertemuan 5 Reporting Aggregate Data Using the Group Function

Today! :

Tujuan Pembelajaran
a)

Apa itu Group Function? Type Group Function Create Groups of Data Klausa HAVING

Mengidentifikasi GROUP BY Mendeksripsikan kegunaan dari Group Function Pengelompokan data menggunakan klausa GROUP BY

b)

c)

What are Group Functions ?

Group functions bekerja pada sekelompok baris dan menghasilkan satu nilai untuk setiap kelompok.

Group Function : Syntax

Perintah DISTINCT memberikan pengaruh pada hasil perhitungan group functions, karena data yang bernilai sama akan hanya dihitung sekali. Apabila semua data (tanpa menghiraukan yang duplikat) akan dihitung, maka digunakan ALL, ALL tidak perlu dituliskan karena merupakan nilai default. Semua group functions mengabaikan nilai NULL pada perhitungannya, untuk menyertakan nilai NULL pada suatu group functions gunakan fungsi NVL, NVL2 atau COALESCE.

Tipe dari Group Function

AVG COUNT
MAX MIN STDDEV SUM VARIANCE

Fungsi AVG, SUM, MIN, MAX

Gunakan fungsi AVG, SUM, MIN dan MAX untuk kolom yang dapat menyimpan data numerik.

Fungsi MIN, MAX

Fungsi MIN & MAX untuk kolom dengan tipe data numerik, character, dan date.

Fungsi COUNT

Fungsi COUNT mempunyai 3 format :


COUNT (*) COUNT (expr) COUNT (DISTINCT expr)

COUNT(*) mengembalikan jumlah baris dalam tabel yang memenuhi kriteria dari SELECT statement, termasuk baris yang sama, dan baris yang bernilai null. COUNT (expr) mengembalikan jumlah nilai-nilai non-null yang berada di kolom yang diidentifikasi oleh expr

COUNT (DISTINCT expr) mengembalikan nilai yang unik, tidak duplikat, nilai-nilai non-null yang berada di kolom yg diidentifikasi oleh expr

Fungsi COUNT

Groups of Data

Dalam semua group function, tabel sebagai satu kelompok informasi yang besar. Dengan menggunakan klause GROUP BY dapat membagi informasi tabel menjadi kelompok2 kecil

Groups of Data : Syntax

Klause Group By digunakan untuk membagi baris dalam tabel ke dalam group. Gunakan group function untuk mengembalikan ringkasan informasi untuk setiap group.

Groups of Data : Pedoman

Jika anda menyertakan group 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 menyertakan kolom-kolom dalam klausa GROUP BY. Anda tidak dapat menggunakan kolom alias dalam klausa GROUP BY.

Groups of Data : Penggunaan

Ketika menggunakan klausa GROUP BY, pastikan bahwa semua kolom pada daftar SELECT yang bukan group functions disertakan pada klausa GROUP BY.

Groups of Data : Penggunaan

Kolom GROUP BY tidak harus ada pada klausa SELECT

SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ORDER BY AVG(salary);

Pengelompokan dengan lebih dari satu kolom

Penggunaan GROUP BY pada lebih dari satu kolom

Operator logika AND akan bernilai benar jika semua kondisi benar

Query-query Ilegal Menggunakan Group Functions

Beberapa kolom atau ekpresi pada daftar SELECT yang bukan fungsi agreget harus ada dalam klausa GROUP BY :

Query-query Ilegal Menggunakan Group Functions


Anda tidak bisa menggunakan klausa WHERE untuk membatasi kelompok-kelompok. Gunakan klausa HAVING untuk membatasi (restrict) kelompok-kelompok. Tidak bisa menggunakan group functions pada klausa WHERE.

Membatasi Hasil-hasil Pengelompokan

Membatasi Hasil Pengelompokan dgn Klausa HAVING


Saat Anda menggunakan klausa HAVING, server Oracle membatasi pengelompokkan sebagai berikut : 1. Baris-baris dikelompokkan. 2. Group Function diterapkan. 3. Pengelompokkan yang memenuhi klausa HAVING ditampilkan.

HAVING BY : Penggunaan

Group Function Bersarang

Group functions dapat disarangkan hingga 2 kedalaman. Cth : untuk menampilkan penghasilan rata-rata tertinggi :

Next :

Pengumpulan Tugas Kuis UTS