IniziaInizia gratis

Ottimizzare con le CTE

Le CTE ti aiutano anche a ottimizzare le query gestendo calcoli come le aggregazioni prima di lavorare con i dati nella query principale.

Per esempio, vuoi trovare il numero massimo di pagamenti rispetto al conteggio degli articoli per ordine. Questo esercizio ti mostra come farlo in modo efficiente con una CTE.

Questo esercizio fa parte del corso

Introduzione a BigQuery

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi le funzioni di aggregazione corrette nella sottoquery e nella query principale.
  • Usa ARRAY_LENGTH per trovare il numero di articoli in ciascun ordine utilizzando due volte la colonna order_items nella query principale.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice