CommencezCommencez gratuitement

Filtrer avec QUALIFY

Si vous devez utiliser les résultats d'une fonction de fenêtre comme filtre WHERE, vous devez utiliser QUALIFY. Dans cette requête, vous trouverez tous les moments où la moyenne mobile de la ligne courante et des 9 lignes précédentes est supérieure à 500 $.

Cette activité fait partie du cours

Introduction à BigQuery

Voir le cours

Instructions de l’exercice

  • Terminez la requête en complétant la fonction de fenêtre et l'instruction QUALIFY pour filtrer la requête.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

-- 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;
Modifier et exécuter le code