เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การกรองข้อมูลด้วย QUALIFY

หากต้องการนำผลลัพธ์ของ window function มาใช้เป็นตัวกรองแบบ WHERE จะต้องใช้ QUALIFY แทน ในคิวรีนี้ จะค้นหาทุกครั้งที่ค่าเฉลี่ยเคลื่อนที่ของแถวปัจจุบันและอีก 9 แถวก่อนหน้ามีค่าเฉลี่ยมากกว่า $500

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

BigQuery เบื้องต้น

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติมส่วน window function และคำสั่ง 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;
แก้ไขและรันโค้ด