【问题标题】:SAP Hana - STRING_AGG issue with ORDER BY CLAUSESAP Hana - ORDER BY CLAUSE 的 STRING_AGG 问题
【发布时间】:2017-02-24 01:33:53
【问题描述】:

我们目前在 SAP Hana SPS12 中遇到了Window Functions 的问题。

我们的一个错误是当我们使用STRING_AGG 函数时。

代码如下:

/*
CREATE TABLE TEST_STR_AGG (
     GROUP_ID varchar(1)
     , CLASS_ID varchar(5)
     , MEMBER varchar(5)
);
*/

TRUNCATE TABLE TEST_STR_AGG;

INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX1', 'A0001');
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX1', 'A0002');
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX1', 'A0003');
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX2', 'A0004');
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX2', 'A0005');
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX3', 'A0006');
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX1', 'B0001');
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX2', 'B0002');
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX3', 'B0003');
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX4', 'B0004');
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX4', 'B0005');
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX4', 'B0006');

SELECT GROUP_ID
    , CLASS_ID
    , STRING_AGG( MEMBER, ' ; '  **ORDER BY MEMBER ASC** ) as MEMBERS
FROM TEST_STR_AGG
GROUP BY GROUP_ID
    , CLASS_ID ;

在安装补丁之前,STRING_AGG 曾经与 ORDER BY 子句完美配合。现在,它只适用于少量的行,因为它适用于我给你的示例。当我们处理超过 500k 行时,如果我们在 STRING_AGG 中添加 ORDER BY 子句,某些行将从我们的结果中消失。如果我们不这样做,它会起作用。
我们在 FIRST_VALUELAST_VALUE 函数上遇到了同样的问题。

这似乎是破坏结果的核心优化规则...

请问有人知道吗?

非常感谢

【问题讨论】:

    标签: aggregate-functions window-functions hana


    【解决方案1】:

    是的,这是一个已知的错误。目前还没有准备好 SAP 说明,但它已在当前版本中修复。

    /-- 找到了 SAP 说明:

    2365540 - 聚合函数 AVG() 返回? / NULL 值与包含 ORDER BY 子句的 STRING_AGG 结合使用时

    解决方案 应用 SAP HANA 数据库修订版 >= 112.07 (SPS11) 或 >= 122.02 (SPS12)。

    --/

    【讨论】:

    • 其实我们从9月23日申请122.02开始就有这个bug了)!并且它没有链接到 2 个聚合函数的组合,而只是一个大集合中的一个。
    • 在这种情况下,您应该打开支持事件以在较新的版本中获得修复。
    • “Order By”在运行于版本 1.00.122.04 的数据库上与 Lars 提到的一样工作
    猜你喜欢
    • 2022-07-04
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 2017-07-18
    相关资源
    最近更新 更多