Common Table Expressions
Pissa, das Unternehmen, das du berätst, plant eine Werbekampagne und braucht deine Expertise.
Die Kampagne zielt darauf ab, die beliebtesten Pizzen – basierend auf den Daten aller Bestellungen – ins Rampenlicht zu rücken.
Das Unternehmen überlegt auch, ein Angebotsmenü mit seiner günstigsten Pizza einzuführen.
Deine Aufgabe als Data Engineer mit Beratungsfunktion ist es, diese beiden Pizzasorten zu identifizieren.
Diese Übung ist Teil des Kurses
Einführung in Snowflake SQL
Anleitung zur Übung
- Erstelle eine CTE mit dem Namen
most_orderedund beschränke die Anzahl der Ergebnisse auf1. - Erstelle eine weitere CTE mit dem Namen
cheapest_pizzaund filtere mit einer Unterabfrage nach der günstigsten Pizza, um den kleinsten Preis zu ermitteln. - Vervollständige die Abfrage, um
pizza_idundtotal_qty– mit dem Aliasmetric– aus dermost_orderedCTE auszuwählen. - Füge
pizza_idundprice– mit dem Aliasmetric– von dercheapest_pizzaCTE ein. Achte darauf, dass du die Reihenfolge der Spalten beibehältst.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- Create a CTE named most_ordered and limit the results
___ ___ ___ (
SELECT pizza_id, SUM(quantity) AS total_qty
FROM order_details GROUP BY pizza_id ORDER BY total_qty DESC
___
)
-- Create CTE cheapest_pizza where price is equal to min price from pizzas table
, ___ ___ (
SELECT pizza_id, price
FROM pizzas
WHERE price = (SELECT ___(price) FROM pizzas)
LIMIT 1
)
SELECT pizza_id, 'Most Ordered' AS Description, total_qty AS metric
-- Select from the most_ordered CTE
FROM ___
UNION ALL
SELECT pizza_id, 'Cheapest' AS Description, price AS metric
-- Select from the cheapest_pizza CTE
FROM ___