Představte si to jako kbelíky, NTILE(2) vytvoří 2 kbelíky, polovina řádků bude mít hodnotu 1 a druhá polovina hodnotu 2
příklad
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
Zde je výstup, protože máte lichý počet řádků, kbelík 1 bude mít o 1 řádek více
1 S1 75
1 S2 83
1 S4 83
2 S3 91
2 S5 93
Pokud přidáte další řádek
insert #temp values('S6',92 )
Nyní mají oba kbelíky 3 řady
1 S1 75
1 S2 83
1 S4 83
2 S3 91
2 S6 92
2 S5 93
Ve skutečnosti jsem nikdy nepoužil NTILE v produkčním kódu, ale vidím použití tam, kde potřebujete rozdělit výsledky do n počtu segmentů