Dzaky ingin melihat berapa nilai dari kelompok masing-masing transaksi yang sudah dilakukan. Dzaky ingin tahu berapa ayah keluar uang dan berapa ayah dapat uang. Lalu Dzaky ketik query untuk menghasilkan pengelompokan nilai dari setiap transaksi:
mysql > SELECT kode,uraian, SUM(jumlah) AS jumlah
FROM transaksi
GROUP BY kode, uraian
kode | uraian | jumlah |
---|---|---|
K K K K K K K K | Beli rokok Makan malam Makan Sate Makan siang Rokok Sarapan Pagi Honor Upah | 10000 32500 25000 27500 10000 5000 750000 500000 |
Ayah lihat kan, "Dzaky tidak bisa melihat langsung berapa jumlah pengeluaran ayah, demikian juga uang yang ayah terima".
"Gunakan GROUP BY Modifiers. Gunakan WITH ROLLUP", kata Ayah.
"WITH ROLLUP?"
Dzaky mau bertanya lagi, tetapi ingat kata-kata ayah, "You MUST show that you have attempted to answer your question in order to receive help". Setelah membaca manual tentang ROLL UP, Dzaky ketikkan querynya seperti ini:
mysql > SELECT kode, uraian, SUM(jumlah) AS jumlah
FROM transaksi
GROUP BY kode, uraian WITH ROLLUP;
FROM transaksi
GROUP BY kode, uraian WITH ROLLUP;
kode | uraian | jumlah |
---|---|---|
K K K K K K K M M M NULL | Beli rokok Makan malam Makan Sate Makan siang Rokok Sarapan Pagi NULL Honor Upah NULL NULL | 10000 32500 25000 27500 10000 5000 110000 750000 500000 1250000 1360000 |
"Ayah, koq ada baris yang berisikan NULL ?"
"Yup, klausa GROUP BY ... WITH ROLLUP akan menambahkan baris tambahan pada output yang merupakan ringkasan dari tingkat yang lebih tinggi (atau super-agregat). Berdasarkan query yang Dzaky buat, maka struktur ringkasannya seperti berikut :"
kode | uraian | jumlah |
kode | jumlah | . |
jumlah | . | .. |
YES !.. tapi, Ayah, Dzaky ingin bukan NULL, tetapi sesuatu yang berarti, misalnya "TOTAL"
"WITH ROLLUP akan menambahkan baris NULL pada akhir proses query, karena itu Dzaky bisa periksa JIKA NULL jangan tampilkan NULL tetapi ganti dengan TOTAL seperti yang Dzaky mau", kata Ayah.
Ayah memberikan penekanan pada kata JIKA NULL, hm... ayah memang tidak pernah memberikan ikan, tetapi selalu memberikan kail dan umpan, memberikan motivasi dan inspirasi untuk selalu mencoba terlebih dahulu.
"OK... well... JIKA NULL... where is the manual?"
Next : ROLL ME UP - IFNULL
Prev : ROLL ME UP - INTRO