使用 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;