共通テーブル式(CTE)
コンサルティング先の企業 Pissa が、プロモーションキャンペーンの実施を計画しています。
キャンペーンでは、合計注文数をもとに最も人気のあるピザをアピールする予定です。
また、最も安価なピザを使ったお得なセットメニューの導入も検討しています。
データエンジニアとして、この2種類のピザを特定しましょう。
この演習はコースの一部です
Snowflake SQL 入門
演習の手順
most_orderedという名前の CTE を作成し、結果を1件に絞り込みます。cheapest_pizzaという名前の CTE を作成し、サブクエリを使って最低価格を求め、最も安いピザを絞り込みます。pizza_idCTE からtotal_qtyとmetric(most_orderedとしてエイリアス)を選択するクエリを完成させます。pizza_idCTE からpriceとmetric(cheapest_pizzaとしてエイリアス)を含めます。列の順序を維持してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- 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 ___