Zacznij terazZacznij za darmo

Optymalizacja zapytań za pomocą CTE

CTE pomagają też optymalizować zapytania – pozwalają wykonać obliczenia, takie jak agregacje, zanim przejdziesz do pracy z danymi w głównym zapytaniu.

Na przykład: chcesz znaleźć największą liczbę płatności według liczby pozycji w zamówieniu. To ćwiczenie pokaże ci, jak zrobić to sprawnie z użyciem CTE.

To ćwiczenie jest częścią kursu

Wprowadzenie do BigQuery

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj odpowiednie funkcje agregujące w podzapytaniu i w głównym zapytaniu.
  • Użyj ARRAY_LENGTH, aby dwukrotnie w głównym zapytaniu wyznaczyć liczbę pozycji w każdym zamówieniu na podstawie kolumny order_items.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod