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

Tối ưu hóa với CTE

CTE cũng giúp bạn tối ưu truy vấn bằng cách thực hiện các phép tính như tổng hợp trước khi làm việc với dữ liệu trong truy vấn chính.

Ví dụ, bạn muốn tìm số lần thanh toán cao nhất theo số lượng mặt hàng trong đơn. Bài tập này sẽ hướng dẫn bạn làm việc đó một cách hiệu quả bằng CTE.

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

  • Thêm các hàm tổng hợp đúng vào subquery và truy vấn chính.
  • Dùng ARRAY_LENGTH để tìm số lượng mặt hàng trong mỗi đơn bằng cách sử dụng cột order_items hai lần trong truy vấn chính.

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.

WITH payments AS (
  SELECT
    -- Use the correct aggregate to find the highest number of payments
    ___(payment_sequential) AS num_payments,
    order_id
  FROM ecommerce.ecomm_payments 
  -- Group the results by order
  GROUP BY ___)
     
SELECT
  -- Add the correct function to find the length or number of order items
  ___(o.order_items) AS num_items,
  MAX(p.num_payments) AS max_payments
FROM ecommerce.ecomm_orders o
JOIN payments p
-- Add the correct keyword to join using the same column
___ (order_id)
-- Add the correct function to find the length or number of order items
GROUP BY ___(o.order_items)
Chỉnh sửa và Chạy Mã