Anda di halaman 1dari 6

ROLLUP, CUBE dan GROUPING SETS

Operator ROLLUP, CUBE dan GROUPING SETS merupakan ekstensi


dari GROUP BY. Operator ini digunakan untuk membuat subtotal, jumlah
total(grand total) dan superset dari subtotal.

ROLLUP
Operator ROLLUP memungkinkan untuk membuat subtotal dan grand
total, dimana data dikelompokkan menggunakan klausa GROUP BY.
Sebelum penggunaan ROLLUP, kita coba untuk mengelompokkan data
berdasarkan tipe pembelian, yang mana akan menghasilkan total
pembelian dari tipe yang bersangkutan.

Hasil eksekusi
Berikutnya digunakan fungsi ROLLUP untuk menampilkan grand total yang
menampilkan jumlah dari keseluruhan pembelian.

Contoh berikutnya akan menampilkan jumlah pembelian barang


berdasarkan tipe untuk tiap bulannya.
Tabel di atas menampilkan data pembelian dari tiap tipe untuk tiap
bulannya serta total pembelian tiap bulan dan total pembelian secara
keseluruhan.
CUBE
Dalam melakukan peringkasan data operator CUBE mirip dengan operator
ROLLUP. Perbedaannya adalah operator CUBE akan merangkum data
berdasarkan pada setiap permutasi dari kolom yang diteruskan ke
operator CUBE.

Query di atas akan menampilkan data pembelian berdasarkan tipe barang


dan bulan pembeliannya serta total pembelian dari tipe barang tersebut.
Juga menampilkan total pembelian semua barang tiap bulannya serta
total pembelian keseluruhan.
Ketika query dijalankan, hasil yang akan ditampilkan adalah ringkasan dari
jumlah untuk setiap permutasi dari kolom yang diteruskan ke operator
CUBE. Pada query di atas ada dua nilai yang diteruskan ke operator CUBE:
"month(PurchaseDate)" dan "PurchaseType". Oleh karena itu permutasi
yang dihasilkan adalah "PurchaseType", "PurchaseType dan
month(PurchaseDate)", dan terakhir "month(PurchaseDate)".

Hasil di atas pertama yang digenerate adalah subtotal untuk setiap


PurchaseType pada setiap bulannya, diikuti oleh Grand Total untuk setiap
PurchaseType. Setelah masing-masing PurchaseType ditampilkan
berdasarkan bulan beserta Grand Total dari tiap PurchaseType tersebut,
query ini kemudian mengenerate "Grand Total" untuk semua pembelian.
Terakhir menampilkan subtotal bulanan.

GROUPING SETS
Ketika kita ingin mengelompokkan data berdasarkan beberapa cara yang
berbeda, operator GROUPING SETS bisa melakukannya hanya dengan
menggunakan single SELECT statement, daripada menggunakan multiple
SELECT statement yang kemudian digabungkan dengan GROUP BY.

Query di atas merupakan contoh query tanpa GROUPING SETS.

Query di atas menggunakan GROUPING SETS


Kedua query di atas akan menampilkan hasil yang sama yaitu berupa data
pembelian berdasarkan jumlah pembelian tiap bulan dan tipe barang yang
dibeli.

Anda mungkin juga menyukai