关注微信公共号:小程在线
关注CSDN博客:程志伟的博客
row_number() over(PARTITION by ... order by ...) 函数
应用场景:当select 选取多个字段时,只需要对其中的几个字段进行分组去重时,可以采用这个函数。
在sas中编写SQL语句时:
select aa,bb,cc,dd,ff
from cheng
group by aa,bb;
这个sql在sas中是可运行,但是在oracle中这个SQL时不能运行的。
在oracle中,SQL可以写成如下这样的:
select aa,bb,cc,dd,ff
from (select aa,bb,cc,dd,ff,
row_number() over(partition by aa,bb order aa,bb) as ee
from cheng) t1
where t1.ee=1;
这个函数就是按照分组aa,bb排序,只取每组的第一个。
涉及业务问题,无法提供实例说明,有问题请留言!