ค่าแรกใน window
สมมติว่าต้องการหา OrderDate แรกสุดหรือล่าสุดในแต่ละเขตพื้นที่ จะทำอย่างไร? ใช้ window function FIRST_VALUE() และ LAST_VALUE() ได้เลย ขั้นตอนมีดังนี้
- สร้าง partition สำหรับแต่ละเขตพื้นที่
- จากนั้นเรียงลำดับตาม
OrderDate - สุดท้าย ใช้ฟังก์ชัน
FIRST_VALUE()และ/หรือLAST_VALUE()ตามที่ต้องการ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
SQL Server ระดับกลาง
คำแนะนำการฝึกหัด
เขียนคิวรี T-SQL เพื่อดึงข้อมูล OrderDate แรกสุด โดยสร้าง partition แยกตาม TerritoryName
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT TerritoryName, OrderDate,
-- Select the first value in each partition
___(OrderDate)
-- Create the partitions and arrange the rows
OVER(PARTITION BY TerritoryName ___ OrderDate) AS FirstOrder
FROM Orders