窗口函数ntile()

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

还是以student表为例

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

image

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

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

image

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

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

image

posted @ 2014-05-28 13:05  cnmarkao  阅读(7261)  评论(0编辑  收藏  举报