结果集中的计数列

Count column in result set

我的结果集如下 enter image description here

我需要做的是计算 acct_nmbr 在结果集中的次数以获得类似的结果。 最终目标是使用 having 子句摆脱任何出现多次的帐户。

enter image description here

我用过:

select distinct Obj_id, acct_nmbr as Acct_nmbrr, datee ,count (acct_nmbrr) as "count"

但它没有返回正确的结果。我只想计算结果集。

已更新 - 我在 oracle 上试过了,得到了你想要的结果。您可能需要对 terradata 进行一些调整,我对此并不熟悉。基本上,您为聚合创建一个 in-line 视图,然后在 acctnmbr 上加入主视图 table

create table test (objid number, acctnmbr number, dateVal date );
insert into test values(1,111,sysdate);
insert into test values(2,111,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的行。