始める無料で始める

QUALIFY でのフィルタリング

ウィンドウ関数の結果を WHERE のようなフィルターに使いたい場合は、QUALIFY を使用する必要があります。このクエリでは、現在の行と直前9行のローリング平均が 500 を超えたタイミングをすべて抽出します。

この演習はコースの一部です

BigQuery入門

コースを見る

演習の手順

  • ウィンドウ関数と QUALIFY 文を補完して、クエリをフィルタリングできるように完成させてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- 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;
コードを編集して実行