LoslegenKostenlos loslegen

Daten mit CTEs filtern

Eine der effektivsten Nutzungen einer CTE ist es, die Daten bereits in der CTE zu filtern, bevor du sie später in der Abfrage verwendest. So sinken die Gesamtkosten der Abfrage, weil weniger Daten in die finale Abfrage gelangen. Diese Abfrage hilft uns, den Bestellstatus von Bestellungen mit Artikeln zu finden, deren Preis über 150 $ liegt.

Diese Übung ist Teil des Kurses

Einführung in BigQuery

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine neue CTE orders für Bestellungen mit einem Preis über 150 $, und entpacke dafür order_items, um die Spalte price zu finden.
  • Verknüpfe die Ergebnisse der CTE mit dem Dataset ecomm_order_details, um die Anzahl der order_status zu ermitteln, und fasse sie zusammen, indem du die Bestellungen je Status COUNTest.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

-- Add the correct items to finish our filtered CTE

-- Create a new CTE with the name orders
WITH ___ AS (
  SELECT order_id
  -- Add the correct column for the order item details
  FROM ecommerce.ecomm_orders, UNNEST(___) items
  -- Fill in the correct column for the item price 
  WHERE items.___ > 150
)

SELECT
	-- Aggregate to find the total number of orders
	___(order_id),
	-- Add the column for the status of the order
	___
FROM ecommerce.ecomm_order_details od
JOIN orders o USING (order_id)
GROUP BY order_status
Code bearbeiten und ausführen