Filtrar datos con CTE
Una de las formas más efectivas de usar una CTE es filtrar los datos dentro de la CTE antes de utilizarlos más adelante en la consulta. Esto reduce el coste total de la consulta al incorporar menos datos a la consulta final. Esta consulta nos ayudará a encontrar el estado de los pedidos que contienen artículos con un precio superior a 150 $.
Este ejercicio forma parte del curso
Introducción a BigQuery
Instrucciones del ejercicio
- Crea una CTE nueva
orderspara pedidos con un precio superior a 150 $, desanidandoorder_itemspara localizar la columnaprice. - Une los resultados de la CTE con el conjunto de datos
ecomm_order_detailspara obtener el número deorder_statusy agrúpalos haciendoCOUNTde los pedidos en cada estado.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
-- 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