Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř CTE s názvem most_ordered a omez výsledky na 1 záznam.
  • Vytvoř druhé CTE s názvem cheapest_pizza a filtruj nejlevnější pizzu pomocí poddotazu, který najde minimální cenu.
  • Dokonči dotaz tak, aby vybíral pizza_id a total_qty s aliasem metric z CTE most_ordered.
  • Přidej pizza_id a price s aliasem metric z CTE cheapest_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 ___
Upravit a spustit kód