Bắt đầu ngayBắt đầu miễn phí

Lọc dữ liệu với CTE

Một cách dùng CTE hiệu quả là lọc dữ liệu ngay trong CTE trước khi dùng tiếp ở phần sau của truy vấn. Cách này giúp giảm chi phí tổng thể vì đưa ít dữ liệu hơn vào truy vấn cuối. Truy vấn này sẽ giúp bạn tìm trạng thái của những đơn hàng có mặt hàng với giá trên $150.

Bài tập này là một phần của khóa học

Giới thiệu về BigQuery

Xem khóa học

Hướng dẫn bài tập

  • Tạo một CTE mới orders cho các đơn hàng có giá trên $150, un-nesting order_items để tìm cột price.
  • JOIN kết quả của CTE với tập dữ liệu ecomm_order_details để tìm số lượng order_status và tổng hợp chúng bằng cách COUNT số đơn hàng trong mỗi trạng thái.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

-- Add the correct items to finish our filtered CTE

-- Create a new CTE with the name orders
WITH ___ AS (
  SELECT order_id
  -- Add the correct column for the order item details
  FROM ecommerce.ecomm_orders, UNNEST(___) items
  -- Fill in the correct column for the item price 
  WHERE items.___ > 150
)

SELECT
	-- Aggregate to find the total number of orders
	___(order_id),
	-- Add the column for the status of the order
	___
FROM ecommerce.ecomm_order_details od
JOIN orders o USING (order_id)
GROUP BY order_status
Chỉnh sửa và Chạy Mã