Common Table Expressions
Pissa, het bedrijf waarvoor je adviseert, plant een promotiecampagne en heeft jouw expertise nodig.
De campagne wil hun populairste pizza op basis van het totale aantal bestellingen in de spotlight zetten.
Ze overwegen ook een voordeelpakket met hun goedkoopste pizza.
Jouw taak als consultant data-engineer is om beide pizza’s te identificeren.
Deze oefening maakt deel uit van de cursus
Introductie tot Snowflake SQL
Oefeninstructies
- Maak een CTE met de naam
most_ordereden beperk de resultaten tot1. - Maak nog een CTE met de naam
cheapest_pizzaen filter op de goedkoopste pizza met een subquery die de minimumprijs zoekt. - Maak de query af om
pizza_identotal_qtyalsmetricte selecteren uit de CTEmost_ordered. - Neem
pizza_idenpriceop alsmetricuit de CTEcheapest_pizza. Let op: behoud de kolomvolgorde.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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 ___