0% menganggap dokumen ini bermanfaat (0 suara)
116 tayangan2 halaman

(Oracle) GROUPING Function

Fungsi GROUPING digunakan bersama operator CUBE atau ROLLUP untuk menghitung subtotal grup data dan menampilkannya dalam baris kolom. Fungsi ini juga membedakan nilai NULL hasil pengelompokan data dan nilai NULL asli pada tabel. Nilai kembalian fungsi GROUPING adalah 0 atau 1, di mana 0 menunjukkan ekspresi digunakan untuk agregat atau NULL asli, dan 1 menunjukkan ekspresi tidak digunakan untuk agregat atau NULL hasil pengelomp

Diunggah oleh

me_lindz
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
116 tayangan2 halaman

(Oracle) GROUPING Function

Fungsi GROUPING digunakan bersama operator CUBE atau ROLLUP untuk menghitung subtotal grup data dan menampilkannya dalam baris kolom. Fungsi ini juga membedakan nilai NULL hasil pengelompokan data dan nilai NULL asli pada tabel. Nilai kembalian fungsi GROUPING adalah 0 atau 1, di mana 0 menunjukkan ekspresi digunakan untuk agregat atau NULL asli, dan 1 menunjukkan ekspresi tidak digunakan untuk agregat atau NULL hasil pengelomp

Diunggah oleh

me_lindz
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 2

C.

Fungsi GROUPING
Fungsi GROUPING adalah suatu fungsi yang biasanya digunakan bersama dengan operator CUBE atau ROLLUP. Kegunaannya adalah untuk mencari subtotal dari suatu grup data dan menampilkannya dalam sebuah baris pada sebuah kolom. Selain itu, fungsi GROUPING juga berguna untuk membedakan yang mana nilai stored NULL, yaitu nilai NULL yang berasal dari tabel awal, dan yang mana nilai NULL yang berasal dari penggunaan operator ROLLUP atau CUBE. mana: o Nilai kembalian dari fungsi GROUPING ini adalah 0 atau 1, di

Nilai 0 yang dihasilkan dari sebuah ekspresi menandakan : Ekspresi telah digunakan untuk menghitung nilai agregat, atau Nilai NULL yang ada pada kolom adalah stored NULL. o Nilai 1 yang dihasilkan dari sebuah ekspresi menandakan : Ekspresi tidak pernah digunakan untuk menghitung nilai agregat, atau Nilai NULL yang ada pada kolom adalah nilai NULL yang dihasilkan dari penggunaan operator ROOLUP atau CUBE sebagai hasil dari pengelompokan data. Sintaks umum:

SELECT [column,] group_function(column) .. , GROUPING(expr) FROM table [WHERE condition] [GROUP BY [ROLLUP][CUBE] group_by_expression] [HAVING having_expression] [ORDER BY column]; Di mana: Nilai expr pada fungsi grouping harus cocok dengan klausa GROUP BY yang ada pada ekspresi tersebut, sehingga fungsi GROUPING dapat menghasilkan nilai kembalian 0 atau 1. condition adalah kondisi dari klausa WHERE yang harus dipenuhi. group_by_expression adalah nama-nama kolom yang nantinya akan menjadi penentu untuk pengelompokan baris-baris yang dihasilkan. Having_expression adalah ekspresi dari klausa HAVING yang harus dipenuhi. Contoh penggunaan fungsi GROUPING: SELECT department_id DEPTID, job_id JOB, SUM(salary), GROUPING(department_id) GRP_DEPT, GROUPING(job_id) GRP_JOB

FROM employees WHERE department_id < 50 GROUP BY ROLLUP(department_id, job_id); Arti syntax tersebut adalah untuk menampilkan kolom department_id yang diberi nama alias sebagai DEPTID, kolom job_id dengan nama alias JOB, total gaji, penerapan fungsi GROUPING untuk kolom department_id yang diberi nama GRP_DEPT, serta fungsi GROUPING pada kolom job_id yang diberi nama alias sebagai GRP_JOB. Kolom-kolom yang akan ditampilkan ini berasal dari tabel employees, dan akan menampilkan data-data yang kode department_id-nya kurang dari 50. Data-data ini nantinya akan dikelompokan dengan sistem ROLLUP berdasarkan kolom department_id dan job_id. Hasil: 1 2

o Pada contoh tersebut, pada baris bertanda 1, kita dapat melihat bahwa total gaji yang diperoleh adalah sebesar 4400. Jumlah ini adalah jumlah keseluruhan gaji karyawan untuk yang memiliki job_id AD_ASST yang berada di departemen 10. Untuk menghitung nilai total gaji ini, kolom department_id dan job_id dipakai kedua-duanya. Oleh karena itu, nilai yang dihasilkan oleh fungsi GROUPING adalah 0 di kedua kolom (GRP_DEPT dan GRP_JOB). o Sedangkan pada baris bertanda 2, nilai 4400 di kolom salary menunjukkan total gaji seluruh karyawan yang berada di departemen 10 (tidak memperdulikan job_id). Kolom yang digunakan adalah kolom department_id. Karena itu, nilai kembalian yang dihasilkan pada kolom GRP_DEPT adalah 0, sedangkan kolom GRP_JOB berisi nilai 1, karena kolom job_id tidak digunakan untuk menghitung total gaji ini. o Pada baris bertanda 3, nilai 54800 menunjukkan total gaji dari seluruh karyawan yang memenuhi syarat klusa WHERE (nilai department_id-nya kurang dari 50). Di sini sudah tidak dipedulikan lagi apa jenis pekerjaannya atau kode departmentnya. Karena kedua kolom, yaitu department_id dan job_id tidak digunakan, maka nilai yang dihasilkan dari fungsi GROUPING adalah 1 di kolom GRP_DEPT dan GRP_JOB.

Anda mungkin juga menyukai