Common Table Expressions
Firma Pissa, pro kterou pracuješ jako konzultant, plánuje reklamní kampaň a potřebuje tvoji pomoc.
Cílem kampaně je upozornit na jejich nejoblíbenější pizzu podle celkového počtu objednávek.
Firma také zvažuje zavedení výhodného menu s jejich nejlevnější pizzou.
Tvým úkolem jako konzultujícího datového inženýra je obě tyto pizzy identifikovat.
Toto cvičení je součástí kurzu
Introduction to Snowflake SQL
Pokyny k cvičení
- Vytvoř CTE s názvem
most_ordereda omez výsledky na1záznam. - Vytvoř druhé CTE s názvem
cheapest_pizzaa filtruj nejlevnější pizzu pomocí poddotazu, který najde minimální cenu. - Dokonči dotaz tak, aby vybíral
pizza_idatotal_qtys aliasemmetricz CTEmost_ordered. - Přidej
pizza_idaprices aliasemmetricz CTEcheapest_pizza. Pozor na zachování pořadí sloupců.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- 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 ___