我有一个包含两列的表,名称和值。我想计算每个组合在Hive中重复的次数
Alex Biology
Joe Chemistry
Alex Physics
Alex Physics
Joe Physics
Joe Physics
我希望输出像
Alex Biology 1
Joe Chemistry 1
Alex Physics 2
Joe Physics 2
我尝试了类似计数的SQL查询 从tbl中选择不同的名称,值,计数(*) 但这失败了,因为错误“UDAF计数尚不支持”#39; 我尝试使用collect_set但是也不成功
select x.name, x.value
, num_arr
from (
select *
, count(collect_set(name) over (partition by value)) num_arr
from count_unique ) x
答案 0 :(得分:0)
您可以使用简单的group_by
功能并计算组合。试试这个
select x.name, x.value, count(*) from count_unique group by x.name,x.value;