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
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 kolumnyorder_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)