Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2008 में लीड लैग फ़ंक्शन का वैकल्पिक

आपके मामले में, id s संख्यात्मक प्रतीत होते हैं, आप बस एक सेल्फ-जॉइन कर सकते हैं:

select t.*
from table t join
     table tnext
     on t.id = tnext.id - 1 and
        t.StatusId = 1 and
        tnext.StatusId = 6 and
        datediff(second, t.MinStartTime, tnext.MinStartTime) < 60;

यह बिल्कुल वही मिनट नहीं है। यह 60 सेकंड के भीतर है। क्या आपको वास्तव में उसी कैलेंडर समय मिनट की आवश्यकता है? अगर ऐसा है, तो आप यह कर सकते हैं:

select t.*
from table t join
     table tnext
     on t.id = tnext.id - 1 and
        t.StatusId = 1 and
        tnext.StatusId = 6 and
        datediff(second, t.MinStartTime, tnext.MinStartTime) < 60 and
        datepart(minute, t.MinStartTime) = datepart(minute, tnext.MinStartTime);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में एक स्कीमा बाउंड व्यू बनाएं

  2. Node.js और Microsoft SQL सर्वर

  3. SQL सर्वर में डेटाटाइम फ़ील्ड का डिफ़ॉल्ट मान टाइमस्टैम्प में जोड़ें

  4. डेटाबेस मेल प्रोफाइल अपडेट करें (SSMS)

  5. SQL सर्वर 2008 में लीड लैग फ़ंक्शन का वैकल्पिक