Kom igångKom igång gratis

Pivotera användarintäkter per månad

Eve berättar att cheferna på C-nivå föredrar breda tabeller framför långa, eftersom de är lättare att läsa snabbt. Hon har förberett ett exempelrapport över användarintäkter per månad, med de fem första användar-ID:nas intäkter från juni till augusti 2018. Cheferna bad henne pivotera tabellen efter månad – och den uppgiften har hon skickat vidare till dig.

Pivotera frågan om användarintäkter per månad så att användar-ID:t blir en rad och varje månad från juni till augusti 2018 blir en kolumn.

Den här övningen är en del av kursen

Analysera affärsdata i SQL

Visa kurs

Övningsinstruktioner

  • Aktivera CROSSTAB() från tablefunc.
  • Deklarera den nya pivottabellens kolumner: användar-ID och de tre första driftmånaderna.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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;
Redigera och kör kod