我想根据对话ID的出现次数进行排名,所以第一次出现的次数为1,第二次为2,第三次为3等等。
我得到了一个语法错误,所以很可能是什么地方出了问题。
select
conversationid,
rank() over (partition by conversationid order by count(*) desc) as rnk
from my_table
group by conversationid
编译语句时出错:失败:semanticexception未能将windowing调用分解成组。至少有1个组必须只依赖于输入列。还要检查循环依赖。底层错误:org.apache.hadoop.hive.ql.parse.semanticexception:第7:54行尚未支持udaf'count'的地方。
1条答案
按热度按时间sqyvllje1#
如果你想按对话数排名,那么你就不需要在窗口函数中使用 "partition by "子句。
这将为最频繁的对话分配等级
1
。