Contoh Pivot table pada mysql

Pivot table di MySQL memungkinkan kita untuk merangkum dan menyajikan data dalam format yang lebih terorganisir. Meskipun MySQL tidak memiliki fungsi pivot bawaan seperti beberapa sistem basis data lainnya seperti oracle, postgresql, dan lain sebagainya. Kita masih dapat membuat pivot table menggunakan kombinasi CASE atau IF dengan GROUP BY.
Berikut adalah langkah-langkah untuk membuat pivot table pada MySQL:
1. Menyiapkan Data Contoh
Misalkan kita memiliki tabel penjualan dengan struktur berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
CREATE TABLE sales ( id INT PRIMARY KEY AUTO_INCREMENT, product VARCHAR(50), month VARCHAR(20), amount INT ); INSERT INTO sales (product, month, amount) VALUES ('Product A', 'January', 100), ('Product A', 'February', 150), ('Product B', 'January', 200), ('Product B', 'February', 300), ('Product C', 'January', 250), ('Product C', 'February', 350); |
2. Menggunakan SQL untuk Membuat Pivot Table
Kita bisa menggunakan query SQL dengan CASE untuk mengubah data dari format baris menjadi kolom. Berikut adalah contoh query untuk mem-pivot tabel penjualan di atas sehingga kamu mendapatkan total penjualan per produk per bulan:
1 2 3 4 5 6 7 8 |
SELECT product, SUM(CASE WHEN month = 'January' THEN amount ELSE 0 END) AS January, SUM(CASE WHEN month = 'February' THEN amount ELSE 0 END) AS February FROM sales GROUP BY product; |
Penjelasan Query
- SELECT product: Memilih kolom produk untuk ditampilkan di hasil.
- SUM(CASE WHEN month = ‘January’ THEN amount ELSE 0 END): Menggunakan CASE untuk mengekstrak jumlah penjualan untuk bulan Januari. Jika bulan tidak sama dengan Januari, maka hasilnya 0.
- AS January: Memberi alias kolom untuk hasil SUM, yaitu “January.”
- GROUP BY product: Mengelompokkan hasil berdasarkan produk, sehingga setiap produk hanya muncul sekali di hasil.
3. Hasil Query
Hasil dari query tersebut akan menjadi seperti ini:
product | January | February |
---|---|---|
Product A | 100 | 150 |
Product B | 200 | 300 |
Product C | 250 | 350 |
4. Menambahkan Lebih Banyak Bulan
Jika kita ingin menambahkan lebih banyak bulan ke dalam pivot table, cukup tambahkan lebih banyak pernyataan SUM(CASE …) untuk bulan yang ingin kita tambahkan. Misalnya, untuk bulan Maret:
1 2 3 4 5 6 7 8 9 |
SELECT product, SUM(CASE WHEN month = 'January' THEN amount ELSE 0 END) AS January, SUM(CASE WHEN month = 'February' THEN amount ELSE 0 END) AS February, SUM(CASE WHEN month = 'March' THEN amount ELSE 0 END) AS March FROM sales GROUP BY product; |
5. Catatan Penting
- Pastikan untuk mengganti nama tabel dan kolom sesuai dengan struktur tabel yang kita miliki.
- Untuk jumlah bulan yang sangat besar, menambahkan banyak
CASE
bisa menjadi tidak efisien. Dalam kasus tersebut, pertimbangkan untuk menggunakan alat analisis data lain seperti Excel atau alat BI (Business Intelligence) yang memiliki fitur pivot table bawaan.
Dengan langkah-langkah di atas, kita dapat membuat pivot table menggunakan MySQL untuk melakukan analisis data yang lebih mendalam!
Cari
Recent Comments
- Perbedaan antara CSS dan SCSS on
- 10 Open Source WYSIWYG Editor untuk Pembuatan Website: Pilihan Terbaik untuk Pengembang on
- SIT ASYSIFA TELAGA SINDUR on
- Mengenal Indeks (Indexing) pada MySQL on
- Cara Verifikasi 2 Langkah pada WhatsApp on
Categories
- ajax (20)
- Android (9)
- Artificial Intelegence (1)
- Games (2)
- internet (10)
- internet business (49)
- Linux (45)
- Mobile (29)
- Open Source (84)
- Portfolio (55)
- Programming (71)
- Uncategorized (29)
- Web 2.0 (70)
- websites (96)
- Windows (24)
Tags
Partners