Оптимізація за допомогою CTE
CTE також допомагають оптимізувати запити, виконуючи обчислення, як-от агрегації, до роботи з даними в основному запиті.
Наприклад, ви хочете знайти найбільшу кількість платежів за кількістю товарів у замовленні. У цій вправі ви побачите, як зробити це ефективно за допомогою CTE.
Ця вправа є частиною курсу
Вступ до BigQuery
Інструкції до вправи
- Додайте правильні агрегатні функції в підзапиті та в основному запиті.
- Використайте
ARRAY_LENGTH, щоб визначити кількість товарів у кожному замовленні, двічі звернувшись до стовпцяorder_itemsв основному запиті.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)