Kom igångKom igång gratis

Optimering med CTEs

CTEs hjälper dig också att optimera frågor genom att hantera beräkningar som aggregeringar innan du arbetar med data i huvudfrågan.

Till exempel kanske du vill hitta det högsta antalet betalningar per orderradsantal. Den här övningen visar hur du gör det effektivt med en CTE.

Den här övningen är en del av kursen

Introduktion till BigQuery

Visa kurs

Övningsinstruktioner

  • Lägg till rätt aggregatfunktioner i underfrågan och huvudfrågan.
  • Använd ARRAY_LENGTH för att beräkna antalet artiklar i varje order med hjälp av kolumnen order_items – detta görs två gånger i huvudfrågan.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod