शुरू करेंमुफ़्त में शुरू करें

महीने के अनुसार यूज़र रेवेन्यू को Pivot करना

अब, Eve आपको बताती है कि C-लेवल के एग्ज़ेक्स लंबी टेबल्स की बजाय चौड़ी टेबल्स पसंद करते हैं क्योंकि उन्हें स्कैन करना आसान होता है. उसने जून से अगस्त 2018 तक के पहले 5 यूज़र IDs के रेवेन्यू दिखाते हुए, महीने-दर-महीने यूज़र रेवेन्यू की एक सैंपल रिपोर्ट तैयार की है. एग्ज़ेक्स ने उसे टेबल को महीने के आधार पर पिवट करने को कहा. उसने यह काम आपको सौंप दिया है.

क्वेरी को ऐसे पिवट करें कि यूज़र ID एक रो हो और जून से अगस्त 2018 तक हर महीना एक कॉलम हो.

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL में बिज़नेस डेटा का विश्लेषण

पाठ्यक्रम देखें

अभ्यास निर्देश

  • tablefunc से CROSSTAB() सक्षम करें.
  • नई पिवट टेबल के कॉलम घोषित करें: यूज़र ID और ऑपरेशन के पहले तीन महीने.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

-- 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;
कोड संपादित करें और चलाएँ