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
Istruzioni dell'esercizio
- Aggiungi le funzioni di aggregazione corrette nella sottoquery e nella query principale.
- Usa
ARRAY_LENGTHper trovare il numero di articoli in ciascun ordine utilizzando due volte la colonnaorder_itemsnella 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)