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
Instrukcje do ćwiczenia
- Utwórz CTE o nazwie
most_orderedi ogranicz wyniki do1. - Utwórz kolejne CTE o nazwie
cheapest_pizzai odfiltruj najtańszą pizzę, używając podzapytania do znalezienia minimalnej ceny. - Uzupełnij zapytanie, aby wybrać
pizza_idoraztotal_qtyz aliasemmetricz CTEmost_ordered. - Uwzględnij
pizza_idorazpricez aliasemmetricz CTEcheapest_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 ___