Filtrer avec QUALIFY
Si vous avez besoin d’utiliser le résultat d’une fonction de fenêtre comme filtre WHERE, vous devez utiliser QUALIFY. Dans cette requête, vous allez trouver toutes les occurrences où la moyenne glissante de la ligne courante et des 9 lignes précédentes est supérieure à 500.
Cet exercice fait partie du cours
Introduction à BigQuery
Instructions
- Complétez la requête en remplissant la fonction de fenêtre et la clause
QUALIFYpour filtrer la requête.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- 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;