分析功能仅计算一次拥有多个帐户的每个客户

时间:2019-04-01 18:09:39

标签: sql netezza analytic-functions

我今天过得很慢,由于某种原因,我无法做到这一点。请帮我。 我有一个分析功能,可以只计算一次有多个帐户的每个客户。想要每个不同的客户。我必须列出客户及其帐户。每个客户有很多帐户

我正在使用这样的功能。 COUNT(1)OVER(按ust.SK_CUST_RM_ID划分)total_cnt1

我正在寻找此输出

cust account  distinc_cust
 1     a           3
 1     b           3
 2     a           3
 2     b           3
 2     c           3
 3     a           3

1 个答案:

答案 0 :(得分:0)

我不认为Netezza支持count(distinct)作为分析功能。因此,您可以使用以下技巧:

select t.*,
       max(dr) over () as distinct_cust
from (select t.*, dense_rank() over (order by cust) as dr
      from t
     ) t;

作为分析功能,您只需使用:

select t.*, count(distinct cust) over ()
from t;