首页 > 代码库 > 窗口函数ntile()

窗口函数ntile()

一直没实际的需求而使用ntile(),今天看了下,就是按序号分组的意思。

还是以student表为例

select ntile(3) over (order by score desc) as zu,
       name,
       score,
       province
from student
<style></style>

image

一共13行数据,分三组,第一组就是5;

那我们看分成五组结果如何呢?

image

分成五个组,前面1,2,3组是三个,后面两个组是2个。

还可以使用ntile() over (partition by province order by score desc),先按province分再分组

image