Sql 基于范围的窗口框架只能有一个排序键

Sql 基于范围的窗口框架只能有一个排序键,sql,hive,analytic-functions,Sql,Hive,Analytic Functions,我试着运行下一个查询 select sum(balance) over (partition by client order by card desc, date_tr desc) from table_1 结果,我得到了下一条错误消息: FAILED: SemanticException Range based Window Frame can have only 1 Sort key 是真的吗,我不能在orderby句子中使用2个排序键?或者有一种方法可以使用2个排序键?您的代码应该可以

我试着运行下一个查询

select sum(balance) over (partition by client order by card desc, date_tr desc)
from table_1
结果,我得到了下一条错误消息:

FAILED: SemanticException Range based Window Frame can have only 1 Sort key

是真的吗,我不能在
orderby
句子中使用2个排序键?或者有一种方法可以使用2个排序键?

您的代码应该可以工作。美国有一个非常相似的例子

也就是说,显式窗口子句可能会绕过错误:

select sum(balance) over (partition by client
                          order by card desc, date_tr desc
                          rows between unbounded preceding and current row
                         )
from table_1

请看一下这个答案,以了解GROUP和PARTITION BY之间的区别,虽然这取决于您到底想要什么: