oracle排序函数

rank,dense_rank,row_number,以及分组排名partition

rank:排名会出现并列第n名,它之后的会跳过空出的名次,例如:1,2,2,4

dense_rank:排名会出现并列第n名,它之后的名次为n+1,例如:1,2,2,3

row_number:排名采用唯一序号连续值,例如1,2,3,4

partition:将排名限制到某一分组

格式:

row_number() over(partition by bb.channel_name order by sum(aa.dk_serv_num) desc nulls last) p1_rank1,
row_number() over(order by sum(aa.dk_serv_num) desc nulls last) rank1,
dense_rank() over(order by nvl(sum(aa.dk_serv_num), 0) desc) rank2,
rank() over(order by sum(aa.dk_serv_num) desc nulls last) rank3

猜你喜欢

转载自chenhongbinjs.iteye.com/blog/1933972