SAS中的group by 改为SQL语句

来源:互联网 发布:游戏数据分析师 编辑:程序博客网 时间:2024/05/21 10:06

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排序,只取每组的第一个。

涉及业务问题,无法提供实例说明,有问题请留言!

   

原创粉丝点击