CommencezCommencez gratuitement

Filtrer des données avec des CTE

L'une des façons les plus efficaces d'utiliser une CTE consiste à filtrer vos données dans la CTE avant de les réutiliser plus loin dans la requête. Cela réduit le coût global de la requête en acheminant moins de données vers la requête finale. Cette requête nous aidera à trouver l'état des commandes contenant des articles dont le prix est supérieur à 150 $.

Cette activité fait partie du cours

Introduction à BigQuery

Voir le cours

Instructions de l’exercice

  • Créez une nouvelle CTE orders pour les commandes avec un prix supérieur à 150 $, en désimbriquant order_items pour trouver la colonne price.
  • Joignez les résultats de la CTE à l'ensemble de données ecomm_order_details pour obtenir le nombre de order_status et regroupez-les en COUNTant les commandes dans chaque état.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

-- 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