Aan de slagGa gratis aan de slag

Filteren met QUALIFY

Als je ooit de resultaten van een windowfunctie als een WHERE-filter wilt gebruiken, moet je QUALIFY inzetten. In deze query zoek je alle momenten waarop het voortschrijdend gemiddelde van de huidige en vorige 9 rijen boven de $500 uitkwam.

Deze oefening maakt deel uit van de cursus

Introductie tot BigQuery

Cursus bekijken

Oefeninstructies

  • Maak de query af door de windowfunctie en de QUALIFY-instructie in te vullen om de query te filteren.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- 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;
Code bewerken en uitvoeren