ПочатиПочніть безкоштовно

Оптимізація за допомогою 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)
Редагувати та запускати код