Zacznij terazZacznij za darmo

Wspólne wyrażenia tabelowe (CTE)

Pissa, firma, dla której świadczysz usługi doradcze, planuje kampanię promocyjną i potrzebuje twojej pomocy.

Celem kampanii jest wyróżnienie najpopularniejszej pizzy pod względem łącznej liczby zamówień.

Firma rozważa też wprowadzenie zestawu ekonomicznego opartego na najtańszej pozycji w menu.

Twoim zadaniem jako inżyniera danych jest zidentyfikowanie obu tych pizz.

To ćwiczenie jest częścią kursu

Wprowadzenie do Snowflake SQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz CTE o nazwie most_ordered i ogranicz wyniki do 1.
  • Utwórz kolejne CTE o nazwie cheapest_pizza i odfiltruj najtańszą pizzę, używając podzapytania do znalezienia minimalnej ceny.
  • Uzupełnij zapytanie, aby wybrać pizza_id oraz total_qty z aliasem metric z CTE most_ordered.
  • Uwzględnij pizza_id oraz price z aliasem metric z CTE cheapest_pizza. Pamiętaj, aby zachować kolejność kolumn.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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 ___
Edytuj i uruchom kod