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
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ộtorder_itemshai 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)