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

sqlserver 2005 में बिना ओवर के ROW_NUMBER का उपयोग करने की आवश्यकता है

प्रति कॉलम कई ROW_NUMBER क्लॉज का उपयोग करें और प्रासंगिक एक चुनें:

....
    ROW_NUMBER() OVER (ORDER BY [Column1]) as rn1,
    ROW_NUMBER() OVER (ORDER BY [Column2]) as rn2,
    ROW_NUMBER() OVER (ORDER BY [Column3]) as rn3,
    ROW_NUMBER() OVER (ORDER BY [Column4]) as rn4
....

या CASE अभिव्यक्ति का उपयोग करें। नोट:सभी डेटाटाइप संगत होने चाहिए

ROW_NUMBER() OVER (ORDER BY CASE @sort
                     WHEN 1 THEN [Column1]
                     WHEN 1 THEN [Column2]
                     WHEN 1 THEN [Column3]
                     ...
                   END

या यदि आप वास्तव में एक मनमाना पंक्ति संख्या चाहते हैं तो यह करें:

ROW_NUMBER() OVER (ORDER BY (SELECT 1)) as rn


  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 मानों की NULL तुलना को सरल बनाने का कोई तरीका है

  2. डेल्फी:डेल्फी और माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 फ़ंक्शन मानों से खराब गणना

  3. चयन कथन का उपयोग करके तालिका मूल्यवान फ़ंक्शन में पैरामीटर पास करें

  4. SQL सर्वर में अंतिम-सम्मिलित पहचान मान वापस करने के लिए @@ पहचान का उपयोग करें

  5. एसक्यूएल आम सदस्यों के साथ सेट ढूंढता है (संबंधपरक विभाजन)