Začněte nyníZačněte zdarma

Filtrování dat pomocí CTE

Jedním z nejefektivnějších způsobů využití CTE je filtrování dat přímo v CTE, ještě před tím, než je použiješ ve zbytku dotazu. Díky tomu pracuje finální dotaz s menším objemem dat, což snižuje celkové náklady na jeho zpracování. Tento dotaz nám pomůže zjistit stav objednávek, které obsahují položky s cenou vyšší než 150 $.

Toto cvičení je součástí kurzu

Introduction to BigQuery

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř nové CTE orders pro objednávky s cenou vyšší než 150 $, přičemž rozbal order_items, abys získal/a sloupec price.
  • Spoj výsledky CTE s datasetem ecomm_order_details, zjisti počet jednotlivých hodnot order_status a agreguj je pomocí COUNT podle každého stavu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- 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
Upravit a spustit kód