Common Table Expressions
Pissa, företaget du är konsult åt, planerar en reklamkampanj och behöver din expertis.
Kampanjen syftar till att lyfta fram deras populäraste pizza baserat på totalt antal beställningar.
De överväger också att introducera ett värdeerbjudande med sin billigaste pizza.
Ditt uppdrag som datateknikkonsult är att identifiera båda dessa pizzor.
Den här övningen är en del av kursen
Introduktion till Snowflake SQL
Övningsinstruktioner
- Skapa en CTE med namnet
most_orderedoch begränsa resultaten till1. - Skapa ytterligare en CTE med namnet
cheapest_pizzaoch filtrera fram den billigaste pizzan med hjälp av en underfråga för att hitta minimipriset. - Komplettera frågan så att
pizza_idochtotal_qty– med aliasetmetric– hämtas från CTE:nmost_ordered. - Inkludera
pizza_idochprice– med aliasetmetric– från CTE:ncheapest_pizza. Observera att kolumnernas ordning ska behållas.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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 ___