आपको इस तरह की एक क्वेरी चाहिए। सुनिश्चित करें कि आपने NULL
. शामिल किया है डेटा 1, डेटा 2 के लिए जाँच करता है जब भविष्य की तारीखों या पिछली तिथियों के लिए रिकॉर्ड गायब हैं और यदि आवश्यक हो तो इसे शून्य पर डिफ़ॉल्ट करें।
select To_CHAR(Month,'MON-YY') Month,
CASE
WHEN MOD ( EXTRACT ( MONTH FROM Month ), 3 ) = 1
THEN Data2 + LEAD ( Data2 ,1) OVER ( ORDER BY Month ) + LEAD ( Data2 ,2) OVER ( ORDER BY Month )
WHEN MOD ( EXTRACT ( MONTH FROM Month ), 3 ) = 2
THEN LAG(Data1,1) OVER ( ORDER By Month ) + Data2 + LEAD ( Data2 ,1) OVER ( ORDER BY Month )
WHEN MOD ( EXTRACT ( MONTH FROM Month ), 3 ) = 0
THEN LAG(Data1,2) OVER ( ORDER By Month ) + LAG(Data1,1) OVER ( ORDER By Month )+Data2
END data
FROM
Table1;