Hari 25: Mini Project — Analisis dengan CTE Bertingkat
65 min
Last updated 25 Mar 2026
Mini Project: Analisis Penjualan per Kategori
Gunakan multiple CTE untuk membuat laporan penjualan berdasarkan kategori produk.
Langkah-langkah
- CTE 1 (item_terjual): Gabungkan detail_pesanan + produk + kategori + pesanan (filter status selesai). Hasilkan: nama_kategori, subtotal per baris.
- CTE 2 (per_kategori): Agregasi dari CTE 1 — GROUP BY kategori, hitung total_pendapatan dan jumlah_item.
- Query Akhir: Tampilkan dari CTE 2, tambahkan kolom pct_kontribusi (persentase terhadap total).
-- Petunjuk struktur
WITH item_terjual AS (
-- JOIN 4 tabel, filter status selesai
),
per_kategori AS (
-- GROUP BY dari item_terjual
)
SELECT
nama_kategori,
total_pendapatan,
jumlah_item,
ROUND(total_pendapatan * 100.0 / SUM(total_pendapatan) OVER (), 1) AS pct_kontribusi
FROM per_kategori
ORDER BY total_pendapatan DESC;
💡
Notice: SUM(...) OVER () tanpa PARTITION menghasilkan grand total — berguna untuk menghitung persentase.
Assignment
Implementasikan analisis penjualan per kategori menggunakan 2 CTE seperti yang dijelaskan. Tampilkan nama_kategori, total_pendapatan, jumlah_item, dan pct_kontribusi.
Expected output:
3 row(s) returned
SQL
query.sql
Solution
Output
⏳ Loading DB...