เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

กำไรรายเดือน

หลังจากที่ Alice จัดลำดับความสำคัญและทำข้อตกลงกับร้านอาหารต่างๆ โดยดูจากกำไรรวมแล้ว เธอต้องการติดตามกำไรของ Delivr เป็นรายเดือนเพื่อประเมินผลการดำเนินงาน คุณมีหน้าที่ช่วยในส่วนนี้

โจทย์นี้มี CTE สองตัวให้พร้อม ตัวแรกเก็บข้อมูลรายได้ และตัวที่สองเก็บข้อมูลต้นทุน เพื่อนำทั้งสองมาใช้ในคิวรีเดียวกัน จึงมีการ JOIN CTE ทั้งสองในคิวรีสุดท้าย จากนั้นนำสูตร Profit = Revenue - Cost มาคำนวณกำไรรายเดือน

อย่าลืมว่ารายได้คือผลรวมของราคาแต่ละเมนูคูณจำนวนที่สั่ง และต้นทุนคือผลรวมของราคาต้นทุนแต่ละเมนูคูณจำนวนที่จัดซื้อ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์ข้อมูลธุรกิจด้วย SQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • คำนวณรายได้รายเดือนใน CTE ชื่อ revenue
  • คำนวณต้นทุนรายเดือนใน CTE ชื่อ cost
  • JOIN CTE ทั้งสองเข้าด้วยกัน แล้วคำนวณกำไรรายเดือน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- 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;
แก้ไขและรันโค้ด