6
ผลรวมสะสมช่วงวันที่โดยใช้ฟังก์ชั่นหน้าต่าง
ฉันต้องคำนวณผลรวมสะสมในช่วงวันที่ เพื่อแสดงให้เห็นถึงการใช้ฐานข้อมูลตัวอย่าง AdventureWorksไวยากรณ์สมมุติฐานต่อไปนี้จะทำสิ่งที่ฉันต้องการ: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER ( PARTITION BY TH.ProductID ORDER BY TH.TransactionDate RANGE BETWEEN INTERVAL 45 DAY PRECEDING AND CURRENT ROW) FROM Production.TransactionHistory AS TH ORDER BY TH.ProductID, TH.TransactionDate, TH.ReferenceOrderID; น่าเศร้าที่RANGEขนาดของกรอบหน้าต่างไม่อนุญาตให้มีช่วงเวลาใน SQL Server ฉันรู้ว่าฉันสามารถเขียนวิธีการใช้แบบสอบถามย่อยและการรวมปกติ (ไม่ใช่หน้าต่าง): SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = ( SELECT SUM(TH2.ActualCost) …