Hãy coi nó như các nhóm, NTILE (2) sẽ tạo 2 nhóm, một nửa số hàng sẽ có giá trị 1 và nửa còn lại có giá trị 2
ví dụ
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
Đây là kết quả, vì bạn có số lượng hàng không đồng đều, nhóm 1 sẽ có thêm 1 hàng
1 S1 75
1 S2 83
1 S4 83
2 S3 91
2 S5 93
Nếu bạn thêm một hàng nữa
insert #temp values('S6',92 )
Bây giờ cả hai nhóm đều có 3 hàng
1 S1 75
1 S2 83
1 S4 83
2 S3 91
2 S6 92
2 S5 93
Trong thực tế, tôi chưa bao giờ sử dụng NTILE trong mã sản xuất nhưng tôi có thể thấy cách sử dụng khi bạn cần chia kết quả thành n số nhóm