Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

SQL untuk Gudang Data

Pelajaran 14 dari 16

Analitik di atas skema bintang

Subtotal dan total ala ROLLUP

Setelah pelajaran ini kamu bisa menyusun laporan bersubtotal dan total keseluruhan dengan UNION ALL dan menjelaskan padanannya dengan ROLLUP dan GROUPING SETS.

±13 menitDiperiksa 3 Okt 2026

Materi

Laporan gudang data sering mengikuti hierarki dimensi: total per subkategori, subtotal per kategori, dan total keseluruhan di baris terakhir. Microsoft menyebut proses menaikkan fakta dari tingkat terendah ke tingkat lebih tinggi sebagai rollup. Dokumentasi PostgreSQL menyediakan klausa untuk itu. GROUPING SETS mengelompokkan data yang sama menurut beberapa kumpulan kolom sekaligus dan menggabungkan hasilnya; kolom yang tidak ikut di suatu kumpulan bernilai NULL di baris hasilnya. ROLLUP (a, b) adalah singkatan untuk GROUPING SETS ((a, b), (a), ()), yaitu daftar kolomnya beserta semua awalannya, termasuk kumpulan kosong yang menghasilkan total keseluruhan.

-- PostgreSQL: subtotal per jenis kendaraan dan total bengkel
SELECT jenis, merek, SUM(biaya)
FROM servis_rata
GROUP BY ROLLUP (jenis, merek);

Diagram SELECT di dokumentasi SQLite tidak memuat ROLLUP maupun GROUPING SETS, jadi hasil yang sama disusun dengan compound SELECT. Setiap kumpulan pengelompokan ditulis sebagai satu SELECT, lalu digabung dengan UNION ALL, yang mengembalikan semua baris dari kedua sisinya tanpa membuang duplikat. Semua SELECT harus menghasilkan jumlah kolom yang sama, dan ORDER BY hanya boleh di akhir seluruh gabungan. Kolom yang tidak dikelompokkan diisi label teks, misalnya Semua, supaya baris subtotal mudah dikenali.

-- SQLite: padanan ROLLUP (jenis, merek)
SELECT jenis, merek, SUM(biaya) FROM servis_rata GROUP BY jenis, merek
UNION ALL
SELECT jenis, 'Semua', SUM(biaya) FROM servis_rata GROUP BY jenis
UNION ALL
SELECT 'Semua', 'Semua', SUM(biaya) FROM servis_rata;

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Dokumentasi PostgreSQL menjelaskan ROLLUP sebagai singkatan. ROLLUP (tahun, bulan, tanggal) sama dengan apa?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 1 lagi