三个排序函数的含义解释及规则

观小数发表于:2020年10月19日 18:43:57更新于:2020年11月23日 17:10:01

1、rank()函数

此排序方法进行排序时,相同的排序是一样的,而且下一个不同值是跳着排序的:1,2,2,4,5,5,7……

写法参考:rank() over( partition by() order by [字段])


2、row_number()函数

此方法不管排名是否有相同的,都按照顺序1,2,3…..n 

写法参考:row_number() over( partition by() order by [字段])


3、dense_rank()函数

此方法对于排名相同的名次一样,且后面名次不跳跃:1,2,2,3,4,4,5……

写法参考:dense_rank() over( partition by() order by [字段])

实际案例参考:

0015f8d6d58420f95198f3b8e148bd7


注意:上面的三个函数,partition by后面可以指定一个字段进行分组,如果是全局排序,可以写成:partition by null


另外,产品上的高级计算-排名已支持这三个函数,可直接使用,无需写新建字段:高级计算-排名

0015fbb7c3e307cd5831888b59fdb4f

0015fbb7c62813d91242c05a1b718b4



    您需要登录后才可以回复