Mulai sekarangMulai gratis

Memutar (pivot) pendapatan pengguna per bulan

Berikutnya, Eve memberi tahu Anda bahwa para eksekutif level C lebih menyukai tabel lebar daripada tabel panjang karena lebih mudah dipindai. Ia menyiapkan contoh laporan pendapatan pengguna per bulan, merinci pendapatan 5 ID pengguna pertama dari Juni hingga Agustus 2018. Para eksekutif memintanya untuk memutar tabel berdasarkan bulan. Ia meneruskan tugas itu kepada Anda.

Putar kueri pendapatan pengguna per bulan sehingga ID pengguna menjadi baris dan setiap bulan dari Juni hingga Agustus 2018 menjadi kolom.

Latihan ini merupakan bagian dari kursus

Menganalisis Data Bisnis di SQL

Lihat Kursus

Instruksi latihan

  • Aktifkan CROSSTAB() dari tablefunc.
  • Deklarasikan kolom tabel pivot baru: ID pengguna dan tiga bulan pertama operasional.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

-- Import tablefunc
CREATE EXTENSION IF NOT EXISTS ___;

SELECT * FROM CROSSTAB($$
  SELECT
    user_id,
    DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
    SUM(meal_price * order_quantity) :: FLOAT AS revenue
  FROM meals
  JOIN orders ON meals.meal_id = orders.meal_id
 WHERE user_id IN (0, 1, 2, 3, 4)
   AND order_date < '2018-09-01'
 GROUP BY user_id, delivr_month
 ORDER BY user_id, delivr_month;
$$)
-- Select user ID and the months from June to August 2018
AS ct (___ INT,
       ___ FLOAT,
       ___ FLOAT,
       ___ FLOAT)
ORDER BY user_id ASC;
Edit dan Jalankan Kode