Bắt đầu ngayBắt đầu miễn phí

Biểu thức bảng chung (CTE)

Pissa, công ty mà bạn đang tư vấn, đang lên kế hoạch cho một chiến dịch khuyến mãi và cần chuyên môn của bạn.

Chiến dịch nhằm làm nổi bật loại pizza phổ biến nhất dựa trên tổng số đơn hàng.

Họ cũng đang cân nhắc ra mắt một suất ăn giá trị với loại pizza rẻ nhất.

Nhiệm vụ của bạn với vai trò kỹ sư dữ liệu tư vấn là xác định cả hai loại pizza này.

Bài tập này là một phần của khóa học

Nhập môn Snowflake SQL

Xem khóa học

Hướng dẫn bài tập

  • Tạo một CTE tên most_ordered và giới hạn kết quả ở 1.
  • Tạo một CTE khác tên cheapest_pizza và lọc ra chiếc pizza rẻ nhất bằng cách dùng một truy vấn con để tìm giá nhỏ nhất.
  • Hoàn thiện truy vấn để chọn pizza_idtotal_qty đặt bí danh là metric từ CTE most_ordered.
  • Bao gồm pizza_idprice đặt bí danh là metric từ CTE cheapest_pizza. Lưu ý, giữ nguyên thứ tự các cột.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

-- Create a CTE named most_ordered and limit the results 
___ ___ ___ (
    SELECT pizza_id, SUM(quantity) AS total_qty 
    FROM order_details GROUP BY pizza_id ORDER BY total_qty DESC
    ___
)
-- Create CTE cheapest_pizza where price is equal to min price from pizzas table
, ___ ___ (
    SELECT pizza_id, price
    FROM pizzas 
    WHERE price = (SELECT ___(price) FROM pizzas)
    LIMIT 1
)

SELECT pizza_id, 'Most Ordered' AS Description, total_qty AS metric
-- Select from the most_ordered CTE
FROM ___
UNION ALL
SELECT pizza_id, 'Cheapest' AS Description, price AS metric
-- Select from the cheapest_pizza CTE
FROM ___
Chỉnh sửa và Chạy Mã