假设我有一个包含两列的表(student_id,grade)。
student_id是一个整数,等级是十进制数。
如果我有1000名学生,并希望按年级分组,每组10名学生。
为了清楚起见,这应该产生100组。第一组包含10个最高等级,最后一组包含10个最低等级。
我该怎么做? 随时欢迎优化。
非常感谢。
若昂
答案 0 :(得分:1)
ntile
将根据一定数量的分数进行排名。
select student_id, ntile(100) over (order by grade desc) from student