Filtrando dados com CTEs
Uma das formas mais eficazes de usar uma CTE é filtrar os dados dentro da CTE antes de usá-los mais adiante na consulta. Isso reduz o custo geral da consulta, pois traz menos dados para a consulta final. Esta consulta vai nos ajudar a encontrar o status dos pedidos que têm itens com preço acima de US$ 150.
Este exercício faz parte do curso
Introdução ao BigQuery
Instruções do exercício
- Crie uma nova CTE
orderspara pedidos com preço acima de US$ 150, fazendo UNNEST deorder_itemspara encontrar a colunaprice. - Faça JOIN nos resultados da CTE com o conjunto de dados
ecomm_order_detailspara encontrar a contagem deorder_statuse agregá-los usandoCOUNTnos pedidos de cada status.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
-- 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