Common Table Expressions
Danışmanlık verdiğin Pissa, bir promosyon kampanyası planlıyor ve uzmanlığına ihtiyaç duyuyor.
Kampanya, toplam siparişlere göre en popüler pizzalarını öne çıkarmayı hedefliyor.
Ayrıca, en ucuz pizzalarını içeren uygun fiyatlı bir menü çıkarmayı da düşünüyorlar.
Danışman veri mühendisi olarak görevin, bu iki pizzayı da belirlemek.
Bu egzersiz
Snowflake SQL'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
most_orderedadlı bir CTE oluştur ve sonuçları1ile sınırla.cheapest_pizzaadlı başka bir CTE oluştur ve en düşük fiyatı bulmak için bir alt sorgu kullanarak en ucuz pizzayı filtrele.- Sorguyu tamamlayıp
most_orderedCTE'sindenpizza_idvetotal_qtysütunlarını,metrictakma adıyla seç. cheapest_pizzaCTE'sindenpizza_idvepricesütunlarını,metrictakma adıyla ekle. Not: Sütunların sırasını koru.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
-- 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 ___