通过HUE / IMPALA进行计数

问题描述

我在HUE中有一个表,如:

ID,ProductID 
1,1
1,2
1,3 
1,3
2,1   
2,2
2,2

我需要为每个ID计算不同数量的ProductID。

类似这样的东西:

ID,ProductID,CountofProductID 
1,1,3
1,2,3,2   
2,2

我尝试过:

SELECT ID,count(ProductID) over (partition by ID Sort by ProductID)
GROUP BY ID,ProductID

我真正需要做的是解析函数内部的count(distinct)。色相不允许我这样做。

还有另一种方法可以对行窗口进行计数吗?

解决方法

您的样本数据令人困惑。但是,您可以通过子查询和联接来解决分析非重复计数的限制:

select t.*,x.cnt
from mytable t
inner join (
    select id,count(distinct product_id) cnt
    from mytable t
    group by id 
) x on x.id = t.id