खैर, तथ्य यह है कि आपको प्रत्येक . के लिए औसत की गणना करने की आवश्यकता है घंटा, वास्तव में इसे सरल बनाता है, क्योंकि आपको बस SUM
. की आवश्यकता है उत्पाद की गणना करें और इसे एक निश्चित संख्या (24) से विभाजित करें। इसलिए मुझे लगता है कि इससे आपके इच्छित परिणाम मिलेंगे (हालांकि इस विशेष मामले में, एक कर्सर वास्तव में तेज़ होगा):
SELECT A.*, B.ProductCount/24 DailyMovingAverage
FROM ProductInventory A
OUTER APPLY ( SELECT SUM(ProductCount) ProductCount
FROM ProductInventory
WHERE ProductName = A.ProductName
AND [Date] BETWEEN DATEADD(HOUR,-23,A.[Date]) AND A.[Date]) B