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

डेटाटाइम के आधार पर वर्तमान पंक्ति और पिछली पंक्ति के बीच अंतर के लिए एसक्यूएल क्वेरी

SQL सर्वर 2012+ में, आप lag() . का उपयोग कर सकते हैं . SQL सर्वर 2008 में, apply का उपयोग करें :

select t.*,
       coalesce(t.cumulativeValue - tprev.cumulativeValue, t.cumulativeValue) as diff
from t outer apply
     (select top 1 tprev.*
      from t tprev
      where tprev.siteId = t.siteId and tprev.readtime < t.readtime
      order by tprev.readtime desc
     ) tprev;


  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. SQL सर्वर में डेटा एक्सेस सक्षम है या नहीं यह जांचने के 2 तरीके (T-SQL उदाहरण)

  3. किसी अन्य तालिका से मूल्यों की नेस्टेड प्रतिस्थापन कैसे करें?

  4. SQL सर्वर आंतरिक:समस्याग्रस्त ऑपरेटर्स पं। III - सॉर्ट

  5. UNPIVOT में NULL मान संभालें