使用 HUE/IMPALA 计数不同
Posted
技术标签:
【中文标题】使用 HUE/IMPALA 计数不同【英文标题】:Count distinct with HUE/IMPALA 【发布时间】:2020-09-03 17:54:29 【问题描述】:我在 HUE 中有一张桌子,例如:
ID,ProductID
1,1
1,2
1,1
1,3
1,1
1,2
1,1
1,3
2,1
2,2
2,2
2,2
2,1
2,2
2,2
2,2
我需要计算每个 ID 的不同 ProductID 数量。
类似这样的:
ID,ProductID, CountofProductID
1,1,3
1,2,3
1,1,3
1,3,3
2,1,2
2,2,2
2,2,2
2,2,2
我试过了:
SELECT ID,ProductID, count(ProductID) over (partition by ID Sort by ProductID)
GROUP BY ID, ProductID
我真正需要做的是分析函数内部的计数(不同)。 HUE 不允许我这样做。
还有另一种方法可以计算不同的行窗口吗?
【问题讨论】:
我似乎无法理解其中的逻辑。为什么结果集中有重复的 id/product 元组? 【参考方案1】:您的示例数据令人困惑。但是,您可以使用子查询和连接来解决分析不同计数的限制:
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
【讨论】:
以上是关于使用 HUE/IMPALA 计数不同的主要内容,如果未能解决你的问题,请参考以下文章