Common Table Expressions
Pissa, l'azienda per cui stai facendo consulenza, sta pianificando una campagna promozionale e ha bisogno della tua esperienza.
L'obiettivo è mettere in evidenza la loro pizza più popolare in base agli ordini totali.
Stanno anche valutando di introdurre un menu convenienza con la loro pizza meno costosa.
Il tuo compito, come data engineer consulente, è identificare entrambe le pizze.
Questo esercizio fa parte del corso
Introduzione a Snowflake SQL
Istruzioni dell'esercizio
- Crea una CTE chiamata
most_orderede limita i risultati a1. - Crea un'altra CTE chiamata
cheapest_pizzae filtra per la pizza più economica usando una sottoquery per trovare il prezzo minimo. - Completa la query selezionando
pizza_idetotal_qtycon aliasmetricdalla CTEmost_ordered. - Includi
pizza_idepricecon aliasmetricdalla CTEcheapest_pizza. Nota: mantieni l'ordine delle colonne.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
-- 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 ___