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

Tsql में अनुक्रमिक पंक्ति संख्या कैसे उत्पन्न करें?

विश्लेषणात्मक कार्यों से बचने की कोई आवश्यकता नहीं है यदि आपका डेटाबेस उनका समर्थन करता है जैसे ROW_NUMBER()

    SELECT
        ROW_NUMBER() OVER (ORDER BY [<PRIMARYKEY_COLUMN_NAME>]) AS Number
    FROM
        [<TABLE_NAME>]

सिंटैक्स Func([ arguments ]) OVER (analytic_clause) . है आपको ओवर () पर ध्यान केंद्रित करने की आवश्यकता है। यह अंतिम कोष्ठक आपकी पंक्तियों का विभाजन बनाता है और इन विभाजनों पर एक-एक करके Func() लागू करता है। उपरोक्त कोड में हमारे पास पंक्तियों का केवल एक सेट/विभाजन है। इसलिए उत्पन्न अनुक्रम सभी पंक्तियों के लिए है।

आप अपने डेटा के कई सेट बना सकते हैं और एक ही बार में प्रत्येक के लिए अनुक्रम संख्या उत्पन्न कर सकते हैं। उदाहरण के लिए यदि आपको उन सभी पंक्तियों के सेट के लिए अनुक्रम संख्या उत्पन्न करने की आवश्यकता है जिनके पास समान श्रेणी आईडी है। आपको बस Partition By जोड़ने की जरूरत है इस तरह का खंड (PARTITION BY categoryId ORDER BY [<PRIMARYKEY_COLUMN_NAME>])

याद रखें कि FROM . के बाद आप एक और अतिरिक्त ORDER BY का भी उपयोग कर सकते हैं अपने डेटा को अलग तरह से सॉर्ट करने के लिए। लेकिन इसका OVER ()

. पर कोई प्रभाव नहीं पड़ता है

  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. Google शैली सुझाए गए खोज परिणामों को वापस करने के लिए T-SQL संग्रहीत कार्यविधि

  4. SQL सर्वर में दो अन्य कॉलम के बीच कॉलम जोड़ना

  5. एसएसआईएस में कॉलम संरचना कैसे जांचें?