Lợi nhuận theo tháng
Sau khi ưu tiên và thương lượng với các quán ăn dựa trên lợi nhuận tổng thể, Alice muốn theo dõi lợi nhuận theo tháng của Delivr để xem hoạt động ra sao. Bạn sẽ hỗ trợ việc này.
Bạn được cung cấp hai CTE. CTE thứ nhất lưu doanh thu và CTE thứ hai lưu chi phí. Để truy cập cả doanh thu và chi phí trong một truy vấn, hai CTE này được JOIN trong truy vấn cuối cùng. Từ đó, bạn có thể áp dụng công thức lợi nhuận Profit = Revenue - Cost để tính lợi nhuận theo tháng.
Hãy nhớ rằng doanh thu là tổng giá của từng món nhân với số lượng đặt, và chi phí là tổng chi phí của từng món nhân với số lượng nhập kho.
Bài tập này là một phần của khóa học
Phân tích dữ liệu kinh doanh bằng SQL
Hướng dẫn bài tập
- Tính doanh thu theo tháng trong CTE
revenue. - Tính chi phí theo tháng trong CTE
cost. - JOIN hai CTE và tính lợi nhuận theo tháng.
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.
-- Set up the revenue CTE
WITH revenue AS (
SELECT
DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
___ AS revenue
FROM meals
JOIN orders ON meals.meal_id = orders.meal_id
GROUP BY delivr_month),
-- Set up the cost CTE
cost AS (
SELECT
DATE_TRUNC('month', stocking_date) :: DATE AS delivr_month,
___ AS cost
FROM meals
JOIN stock ON meals.meal_id = stock.meal_id
GROUP BY delivr_month)
-- Calculate profit by joining the CTEs
SELECT
___,
___
FROM revenue
JOIN cost ON revenue.delivr_month = cost.delivr_month
ORDER BY revenue.delivr_month ASC;