一直没实际的需求而使用ntile(),今天看了下,就是按序号分组的意思。
还是以student表为例
select ntile(3) over (order by score desc) as zu, name, score, province from student
一共13行数据,分三组,第一组就是5;
那我们看分成五组结果如何呢?
分成五个组,前面1,2,3组是三个,后面两个组是2个。
还可以使用ntile() over (partition by province order by score desc),先按province分再分组
原文:http://www.cnblogs.com/cnmarkao/p/3756876.html