Optimizar con CTE
Las CTE también te ayudan a optimizar consultas realizando cálculos como agregaciones antes de trabajar con los datos en la consulta principal.
Por ejemplo, quieres encontrar el número más alto de pagos según la cantidad de artículos por pedido. En este ejercicio verás cómo hacerlo de forma eficiente con una CTE.
Este ejercicio forma parte del curso
Introducción a BigQuery
Instrucciones del ejercicio
- Añade las funciones de agregación correctas en la subconsulta y en la consulta principal.
- Usa
ARRAY_LENGTHpara obtener el número de artículos en cada pedido utilizando la columnaorder_itemsdos veces en la consulta principal.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
WITH payments AS (
SELECT
-- Use the correct aggregate to find the highest number of payments
___(payment_sequential) AS num_payments,
order_id
FROM ecommerce.ecomm_payments
-- Group the results by order
GROUP BY ___)
SELECT
-- Add the correct function to find the length or number of order items
___(o.order_items) AS num_items,
MAX(p.num_payments) AS max_payments
FROM ecommerce.ecomm_orders o
JOIN payments p
-- Add the correct keyword to join using the same column
___ (order_id)
-- Add the correct function to find the length or number of order items
GROUP BY ___(o.order_items)