Menyaring data dengan CTE
Salah satu cara paling efektif menggunakan CTE adalah menyaring data di dalam CTE sebelum digunakan lebih lanjut dalam kueri. Ini mengurangi biaya keseluruhan kueri dengan membawa lebih sedikit data ke kueri akhir. Kueri ini akan membantu kita menemukan status pesanan untuk pesanan dengan item yang harganya di atas $150.
Latihan ini merupakan bagian dari kursus
Pengantar BigQuery
Instruksi latihan
- Buat CTE baru
ordersuntuk pesanan dengan harga di atas $150, lakukan un-nesting padaorder_itemsuntuk menemukan kolomprice. - Gabungkan hasil CTE dengan himpunan data
ecomm_order_detailsuntuk menemukan jumlahorder_statusdan agregasikan dengan melakukanCOUNTpada pesanan di setiap status.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
-- 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