Expressions de table courantes
Pissa, l’entreprise pour laquelle vous travaillez, planifie une campagne de promotion et a besoin de votre expertise.
La campagne vise à mettre en avant leur pizza la plus populaire en fonction du nombre total de commandes.
Ils envisagent également d’introduire un repas bon marché comprenant leur pizza la moins chère.
Votre tâche, en tant qu’ingénieur des données consultant, est d’identifier ces deux pizzas.
Cet exercice fait partie du cours
Introduction à Snowflake SQL
Instructions
- Créez une CTE nommée
most_ordered
et limitez les résultats à1
. - Créez une autre CTE, appelée
cheapest_pizza
et filtrez la pizza la moins chère en utilisant une sous-requête pour trouver le prix minimum. - Complétez la requête pour sélectionner
pizza_id
ettotal_qty
en lui donnant l’aliasmetric
à partir de la CTEmost_ordered
. - Incluez
pizza_id
etprice
en lui donnant l’aliasmetric
à partir de la CTEcheapest_pizza
. Notez que l’ordre des colonnes doit être respecté.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- 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 ___