การคำนวณค่าฐานนิยม (I)
น่าเสียดายที่ไม่มีฟังก์ชันสำเร็จรูปสำหรับคำนวณ ค่าฐานนิยม (mode) ซึ่งคือค่าที่ปรากฏซ้ำมากที่สุดในคอลัมน์ วิธีคำนวณค่าฐานนิยมมีดังนี้
- ขั้นแรก สร้าง CTE ที่มีการนับค่าเรียงลำดับโดยใช้
ROW_NUMBER() - จากนั้น เขียนคิวรีโดยใช้ CTE นั้นเพื่อดึงค่าที่มีหมายเลขแถวสูงที่สุด
ในแบบฝึกหัดนี้ จะได้เขียน CTE สำหรับคำนวณค่าฐานนิยมของ OrderPrice
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
SQL Server ระดับกลาง
คำแนะนำการฝึกหัด
- สร้าง CTE ชื่อ
ModePriceที่คืนค่าสองคอลัมน์ (OrderPriceและUnitPriceFrequency) - เขียนคิวรีที่คืนค่าทุกแถวใน CTE นี้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Create a CTE Called ModePrice which contains two columns
___ ___ (___, ___)
___
(
SELECT OrderPrice,
ROW_NUMBER()
OVER(PARTITION BY OrderPrice ORDER BY OrderPrice) AS UnitPriceFrequency
FROM Orders
)
-- Select everything from the CTE
___