tsql - Intermittent time series. Return first date of last contiguous block of most recent data in T-SQL -
<पूर्व> 10/03/2011 11/03/2011 12/03/2011 13/03/2011 14/03/2011 15 / 03/2011 QUERYRESULT aaaaa 14/03/2011 बीबीबी 13/03/2011 cccc 12/03/2011
इसलिए निकटतम तारीखों के सबसे हाल के ब्लॉक के लिए, उस विशेष ब्लॉक से प्रारंभिक तिथि लौटाओ, जैसा कि 'Queryresult' कॉलम में दिखाया गया है।
मुझे पता है कि मैंने अज्ञात रूप से डेटा को उदाहरण के रूप में ट्रांसज़ेक्ट किया है, उदाहरण के लिए मैंने सोचा था कि स्कीमा है: [आईडी] 1,2,3, ... ; [प्रकार] ए, बी, सी ..; [Date]
मैं पुनरावर्ती सीटीई / विंडो / रेंकिंग फ़ंक्शंस के साथ कुछ देख सकता हूँ, लेकिन इसे बहुत कुछ नहीं समझ सकता।
मैंने सोचा था की तुलना में आसान और सीटीई या विंडोिंग / रैंकिंग फ़ंक्शंस की आवश्यकता नहीं है:
डेटा संभालने
ID mydate pfo 1 12/03/2011 एक 4 13/03/2011 एक 6 14/03/2011 एक 10 16/03/2011 एक 2 12/03/2011 बी 5 13/03/2011 बी 8 15/03/2011 बी 3 12 / 03/2011 सी 7 14/03/2011 सी 9 15/03/2011 सी 11 16/03/2011 cफिर
SELECT MAX (n.mydate), n टेस्टटेबल से .pfo टेस्टटेबल एन 2 पर एनटीपीए = एन 2 पीपीओ और DATEADD (डी, -1, एन.एम.एम.टी.) = एन 2 पर जुड़ें। एन.ए.एम.ए.टी. जहां एन 2. आईएमटीएटी आईएस नल ग्रुप द्वारा एन.पी.एफ.ओ < / div>
Comments
Post a Comment