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
Instrucțiuni pentru exercițiu
- Creează un CTE nou numit
orderspentru comenzile cu un preț de peste 150 $, dezanidândorder_itemspentru a accesa coloanaprice. - Unește rezultatele CTE-ului cu setul de date
ecomm_order_detailspentru a afla numărul de înregistrări pentru fiecareorder_status, agregându-le cuCOUNT.
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