ÎncepețiÎncepe gratuit

Filtrarea datelor cu CTE-uri

Una dintre cele mai eficiente modalități de a folosi un CTE este să filtrezi datele în cadrul acestuia înainte de a le utiliza mai departe în interogare. Astfel, reduci costul total al interogării, deoarece aduci mai puține date în query-ul final. Această interogare te va ajuta să identifici statusul comenzilor care conțin produse cu un preț de peste 150 $.

Acest exercițiu face parte din cursul

Introducere în BigQuery

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un CTE nou numit orders pentru comenzile cu un preț de peste 150 $, dezanidând order_items pentru a accesa coloana price.
  • Unește rezultatele CTE-ului cu setul de date ecomm_order_details pentru a afla numărul de înregistrări pentru fiecare order_status, agregându-le cu COUNT.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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
Editează și rulează codul