Kadangkala saat kita bekerja dengan banyak data, muncul kebutuhan untuk dapat menjumlahkan (SUM) nilai dari beberapa record namun berasal dari hasil grouping. Misal pada sample yang saya bawakan ini menggunakan database Adventureworks.
Untuk mempermudah pengertian Data Rollup, kita persiapkan sebuah view yang menggambarkan hasil penjualan product-product yang dikelompokkan berdasarkan Category, Sub Category dan kelompok Product

Sehingga pada saat kita panggil view Sales.vSalesByCategory datanya akan tampak sebagai berikut :

Misalkan kita ingin mendapatkan nilai total penjualan untuk setiap product dapat dilakukan dengan melakukan Query berikut :

Hasil query diatas menunjukkan total penjualan setiap barang. lalu bagaimana jika kita ingin tahu nilai penjualan yang dikelompokkan berdasarakan Category, Category dan Sub Category, Category dan Subcategory dan Product ??

Nah disinilah peran dari data ROLLUP, dengan menyisipkan klausa WITH ROLLUP seperti berikut :



Sehingga data yang dihasilkan akan tampak seperti berikut :

Pada data yang mengalami nilai Category, subCategory serta Product nya NULL ini mengartikan bahwa total penjualan seluruh category adalah 140707584.8246

kemudian pada Category ‘Accessories’ yang memiliki nilai SubCategory dan Product nya NULL mengartikan bahwa total penjualan untuk seluruh Category ‘Accessories’ adalah 63583321.6767

Kemudian Nilai total Penjualan subCategory ‘Bike Racks’ untuk category ‘Accessories’ adalah 1210260.9025

dan demikian seterusnya.

Demikianlah pembahasan simple mengenai Data ROLLUP, semoga bermanfaat.