Kom igångKom igång gratis

Filtrering med QUALIFY

Om du behöver använda resultatet av en fönsterfunktion som ett WHERE-filter, måste du använda QUALIFY. I den här frågan hittar du alla tillfällen då det rullande medelvärdet för den aktuella och de föregående 9 raderna överstiger $500.

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

Introduktion till BigQuery

Visa kurs

Övningsinstruktioner

  • Slutför frågan genom att fylla i fönsterfunktionen och QUALIFY-satsen för att filtrera frågan.

Interaktiv övning med praktiskt arbete

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

-- Complete the query to find all times when the rolling average is over $500

SELECT
  order_id,
  order_purchase_timestamp,
  -- Complete the rolling average for the current and nine previous rows
  AVG(___) 
  OVER(ORDER BY ___ 
       ROWS BETWEEN ___ ___ AND ___ ROW) as rolling_avg
FROM ecommerce.ecomm_order_details od
JOIN ecommerce.ecomm_orders o 
USING (order_id), unnest(o.order_items) as item
-- Add the qualify statement to find all rows with an average over $500
QUALIFY ___ ___
ORDER BY order_purchase_timestamp;
Redigera och kör kod