CommencerCommencer gratuitement

Filtrer des données avec des CTE

L’un des moyens les plus efficaces d’utiliser une CTE consiste à filtrer vos données dans la CTE avant de les exploiter plus loin dans la requête. Cela réduit le coût global en faisant remonter moins de données dans la requête finale. Cette requête nous aidera à trouver le statut des commandes contenant des articles dont le prix est supérieur à 150 $.

Cet exercice fait partie du cours

Introduction à BigQuery

Afficher le cours

Instructions

  • Créez une nouvelle CTE orders pour les commandes dont le prix est supérieur à 150 $, en dépliant (UNNEST) order_items pour accéder à la colonne price.
  • Joignez les résultats de la CTE au jeu de données ecomm_order_details pour trouver le nombre de order_status et regroupez-les en COUNTant les commandes dans chaque statut.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

-- Add the correct items to finish our filtered CTE

-- Create a new CTE with the name orders
WITH ___ AS (
  SELECT order_id
  -- Add the correct column for the order item details
  FROM ecommerce.ecomm_orders, UNNEST(___) items
  -- Fill in the correct column for the item price 
  WHERE items.___ > 150
)

SELECT
	-- Aggregate to find the total number of orders
	___(order_id),
	-- Add the column for the status of the order
	___
FROM ecommerce.ecomm_order_details od
JOIN orders o USING (order_id)
GROUP BY order_status
Modifier et exécuter le code