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

SQL सर्वर:लगातार द्वारा समूह

SQL सर्वर में, आप इसे एकत्रीकरण और पंक्ति संख्याओं के अंतर के साथ कर सकते हैं:

select HevEvenementID, HteTypeEvenID,
       max(HjvNumeSequJour)
from (select t.*,
             row_number() over (partition by HevEvenementID order by HjvNumeSequJour) as seqnum_1,
             row_number() over (partition by HevEvenementID, HteTypeEvenID order by HjvNumeSequJour) as seqnum_2
      from yourtable t
     ) t
group by HevEvenementID, HteTypeEvenID, (seqnum_1 - seqnum_2)
order by max(HjvNumeSequJour);

मुझे लगता है कि सबक्वायरी के परिणामों को देखकर यह समझने का सबसे अच्छा तरीका है कि यह कैसे काम करता है। आप देखेंगे कि कैसे दो मानों के बीच का अंतर आसन्न मूल्यों के समूहों को परिभाषित करता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल आगामी जन्मदिन का चयन करें

  2. एसक्यूएल संग्रहीत प्रक्रिया पैरामीटर दूषित हो रहा है?

  3. प्राथमिक आईडी फ़ील्ड के साथ संघ दो अलग-अलग टेबल

  4. PIVOT ऑपरेटर में उपयोग नहीं किया जा सकता क्योंकि यह NULLs के लिए अपरिवर्तनीय नहीं है

  5. कॉलम में डिफ़ॉल्ट मान सेट करें यदि SQL 2008 में शर्त पूरी होती है