กำไรแยกตาม eatery
Delivr กำลังเจรจาสัญญาใหม่กับ eatery ต่างๆ โดย eatery ที่สร้างกำไรได้มากกว่าจะได้รับอัตราที่ Delivr ยินดีจ่ายสูงขึ้นสำหรับการซื้อมื้ออาหารในปริมาณมาก
ทีม Business Development ขอให้หากำไรที่แต่ละ eatery สร้างขึ้น เพื่อเสริมความแข็งแกร่งในการเจรจา
หมายเหตุ: ไม่จำเป็นต้องใช้ GROUP BY ตาม eatery ในคิวรีสุดท้าย เพราะได้จัดกลุ่มตาม eatery ใน CTE ของ revenue และ cost ไว้แล้ว สิ่งที่ต้องทำเพียงอย่างเดียวคือ join CTE ทั้งสองเข้าด้วยกัน เพื่อให้ได้ revenue และ cost ของแต่ละ eatery ในแถวเดียว เนื่องจาก revenue และ cost มีข้อมูลเพียงแถวเดียวต่อ eatery จึงไม่จำเป็นต้องจัดกลุ่มเพิ่มเติมอีก
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ข้อมูลธุรกิจด้วย SQL
คำแนะนำการฝึกหัด
- คำนวณ revenue แยกตาม eatery ใน CTE ชื่อ
revenue - คำนวณ cost แยกตาม eatery ใน CTE ชื่อ
cost - Join CTE ทั้งสองเข้าด้วยกัน แล้วคำนวณกำไรแยกตาม eatery
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
WITH revenue AS (
-- Calculate revenue per eatery
SELECT ___,
___ AS revenue
FROM meals
JOIN orders ON meals.meal_id = orders.meal_id
GROUP BY eatery),
cost AS (
-- Calculate cost per eatery
SELECT ___,
___ AS cost
FROM meals
JOIN stock ON meals.meal_id = stock.meal_id
GROUP BY eatery)
-- Calculate profit per eatery
SELECT ___,
___
FROM revenue
JOIN cost ON revenue.eatery = cost.eatery
ORDER BY profit DESC;