Mit CTEs optimieren
CTEs helfen dir auch dabei, Abfragen zu optimieren, indem sie Berechnungen wie Aggregationen erledigen, bevor in der Hauptabfrage mit den Daten gearbeitet wird.
Zum Beispiel möchtest du die höchste Anzahl an Zahlungen nach der Anzahl der Artikel pro Bestellung finden. Diese Übung zeigt dir, wie du das mit einer CTE effizient umsetzt.
Diese Übung ist Teil des Kurses
Einführung in BigQuery
Anleitung zur Übung
- Füge die richtigen Aggregatfunktionen in die Unterabfrage und die Hauptabfrage ein.
- Verwende
ARRAY_LENGTH, um die Anzahl der Artikel in jeder Bestellung zu ermitteln, und nutze dazu die Spalteorder_itemszweimal in der Hauptabfrage.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)