Mulai sekarangMulai gratis

Menyaring data dengan CTE

Salah satu cara paling efektif menggunakan CTE adalah menyaring data di dalam CTE sebelum digunakan lebih lanjut dalam kueri. Ini mengurangi biaya keseluruhan kueri dengan membawa lebih sedikit data ke kueri akhir. Kueri ini akan membantu kita menemukan status pesanan untuk pesanan dengan item yang harganya di atas $150.

Latihan ini merupakan bagian dari kursus

Pengantar BigQuery

Lihat Kursus

Instruksi latihan

  • Buat CTE baru orders untuk pesanan dengan harga di atas $150, lakukan un-nesting pada order_items untuk menemukan kolom price.
  • Gabungkan hasil CTE dengan himpunan data ecomm_order_details untuk menemukan jumlah order_status dan agregasikan dengan melakukan COUNT pada pesanan di setiap status.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

-- 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
Edit dan Jalankan Kode