I was reading on RANKING function for ms sql. I understand the others function except NTILE().
Lets say if i have this data:
StudentID MARKS
S1 75
S2 83
S3 91
S4 83
S5 93
So if i do a NTILE(2) OVER(ORDER BY MARKS desc) what will be the result and why?
And what if it is a NTILE(3)?
Simple explaination anyone?
Think of it as buckets, NTILE(2) will make 2 buckets, half the rows will have the value 1 and the other half the value 2
example
Here is the output, since you have an uneven number of rows, bucket 1 will have 1 row more
If you add one more row
Now both buckets have 3 rows
In reality I have never used NTILE in production code but I can see the use where you need to split the results into n number of buckets