问题描述
我的结果集如下 enter image description here
我需要做的是计算acct_nmbr在结果集中的次数,以获得类似的结果。 最终目标是使用hading子句消除出现多次的任何帐户。
我用过:
select distinct Obj_id,acct_nmbr as Acct_nmbrr,datee,count (acct_nmbrr) as "count"
,但未返回正确的结果。我只想计算结果集。
解决方法
更新-我在oracle上尝试过此操作,并获得所需的结果。您可能需要对terradata进行一些调整,我对此并不熟悉。基本上,您为聚合创建一个嵌入式视图,然后将acctnmbr与主表连接起来
create table test (objid number,acctnmbr number,dateVal date );
insert into test values(1,111,sysdate);
insert into test values(2,sysdate+1);
insert into test values(199,222,sysdate);
select objid,test.acctnmbr,dateval,cntview.cnt
from test,(
select acctnmbr,count(*) cnt
from test
group by acctnmbr
) cntview
where cntview.acctnmbr = test.acctnmbr
,
我的想法是使用row number
SELECT ObjID,AcctNmbr,Date,ROW_NUMBER() OVER (PARTITION BY AcctNmbr ORDER BY ObjID)
FROM sometable
然后根据您的逻辑,用row_number > 1
删除行。