CommencerCommencer gratuitement

Optimiser avec des CTE

Les CTE vous aident aussi à optimiser les requêtes en effectuant des calculs, comme des agrégations, avant de travailler avec les données dans la requête principale.

Par exemple, vous souhaitez trouver le nombre maximal de paiements selon le nombre d’articles par commande. Cet exercice vous montre comment le faire efficacement avec une CTE.

Cet exercice fait partie du cours

Introduction à BigQuery

Afficher le cours

Instructions

  • Ajoutez les fonctions d’agrégation appropriées dans la sous-requête et dans la requête principale.
  • Utilisez ARRAY_LENGTH pour obtenir le nombre d’articles dans chaque commande en utilisant deux fois la colonne order_items dans la requête principale.

Exercice interactif pratique

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

WITH payments AS (
  SELECT
    -- Use the correct aggregate to find the highest number of payments
    ___(payment_sequential) AS num_payments,
    order_id
  FROM ecommerce.ecomm_payments 
  -- Group the results by order
  GROUP BY ___)
     
SELECT
  -- Add the correct function to find the length or number of order items
  ___(o.order_items) AS num_items,
  MAX(p.num_payments) AS max_payments
FROM ecommerce.ecomm_orders o
JOIN payments p
-- Add the correct keyword to join using the same column
___ (order_id)
-- Add the correct function to find the length or number of order items
GROUP BY ___(o.order_items)
Modifier et exécuter le code