开始使用免费开始使用

使用 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;
编辑并运行代码