Zie het als buckets, NTILE(2) maakt 2 buckets, de helft van de rijen heeft de waarde 1 en de andere helft de waarde 2
voorbeeld
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
Hier is de output, aangezien je een oneven aantal rijen hebt, zal emmer 1 1 rij meer hebben
1 S1 75
1 S2 83
1 S4 83
2 S3 91
2 S5 93
Als je nog een rij toevoegt
insert #temp values('S6',92 )
Nu hebben beide emmers 3 rijen
1 S1 75
1 S2 83
1 S4 83
2 S3 91
2 S6 92
2 S5 93
In werkelijkheid heb ik NTILE nooit in productiecode gebruikt, maar ik kan het gebruik zien waarbij je de resultaten in n aantal buckets moet splitsen