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

NTILE के बारे में अधिक जानना चाहते हैं ()

इसे बकेट के रूप में सोचें, NTILE(2) 2 बकेट बनाएगा, आधी पंक्तियों का मान 1 और दूसरे का आधा मान 2 होगा

उदाहरण

create table  #temp(StudentID char(2),    Marks  int) 
insert #temp  values('S1',75 ) 
insert #temp  values('S2',83)
insert #temp  values('S3',91)
insert #temp  values('S4',83)
insert #temp  values('S5',93 ) 


select NTILE(2) over(order by Marks),*
from #temp
order by Marks

यहाँ आउटपुट है, क्योंकि आपके पास असमान संख्या में पंक्तियाँ हैं, बकेट 1 में 1 पंक्ति अधिक होगी

1   S1  75
1   S2  83
1   S4  83
2   S3  91
2   S5  93

अगर आप एक और पंक्ति जोड़ते हैं

insert #temp  values('S6',92 ) 

अब दोनों बकेट में 3 पंक्तियाँ हैं

1   S1  75
1   S2  83
1   S4  83
2   S3  91
2   S6  92
2   S5  93

वास्तव में मैंने कभी भी उत्पादन कोड में NTILE का उपयोग नहीं किया है, लेकिन मैं उस उपयोग को देख सकता हूं जहां आपको परिणामों को n संख्या में बाल्टियों में विभाजित करने की आवश्यकता है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस विकास स्वचालन के लिए DevOps समाधान

  2. SQL सर्वर में वर्तमान तिथि कैसे प्राप्त करें

  3. WHERE क्लॉज में वैकल्पिक तर्क

  4. मैच के प्रतिशत के साथ SQL सर्वर फ़ज़ी सर्च

  5. उदाहरण के साथ SQL सर्वर इनर जॉइन बेसिक्स