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

还是以student表为例

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

窗口函数ntile()

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

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

窗口函数ntile()

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

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

窗口函数ntile()

相关文章:

  • 2021-06-16
  • 2021-09-16
  • 2021-08-01
  • 2021-10-02
  • 2022-12-23
  • 2021-11-13
  • 2022-01-22
猜你喜欢
  • 2022-02-01
  • 2022-12-23
  • 2021-05-27
  • 2022-01-26
  • 2021-10-03
  • 2022-12-23
相关资源
相似解决方案