【问题标题】:Range based window Frame can have only 1 sort key基于范围的窗口框架只能有 1 个排序键
【发布时间】:2019-07-22 07:07:31
【问题描述】:

我已经尝试运行下一个查询

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

是真的,我不能在order by 句子中使用 2 个排序键吗?或者有什么方法可以使用 2 个排序键?

【问题讨论】:

    标签: sql hive analytic-functions


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      请查看此答案以了解 GROUP 和 PARTITION BY 之间的区别,它应该可以工作,尽管它取决于您到底想要什么:Difference GROUP BY and PARTITION BY

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多