数据仓库服务 GAUSSDB(DWS)-字符串函数(Oracle):LISTAGG

时间:2024-04-18 16:24:37

LISTAGG

LISTAGG根据ORDER BY子句对每个组中的列值进行排序,并将排序后的结果拼接起来。

图1 输入:LISTAGG
图2 输出:LISTAGG

设置MigSupportForListAgg=false后,可迁移LISTAGG。

输入:LISTAGG

1
2
3
4
5
6
7
SELECT LISTAGG(BRANCH_ID, ',') WITHIN GROUP(ORDER BY AREA_ORDER) PRODUCTRANGE
                       FROM (SELECT DISTINCT VB.BRANCH_ID,
                                             VB.VER_ID,
                                             VB.AREA_ORDER
                               FROM SPMS_VERSION_BRANCH VB, SPMS_NODE_SET NS
                              WHERE VB.BRANCH_TYPE IN ('1', '3')
                                AND VB.AGENCY_BRANCH = NS.BRANCH_ID);

输出

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
SELECT LISTAGG (BRANCH_ID,',') WITHIN GROUP (
 ORDER BY AREA_ORDER ) PRODUCTRANGE
 FROM ( SELECT
         DISTINCT VB.BRANCH_ID
         ,VB.VER_ID
         ,VB.AREA_ORDER
          FROM
          SPMS_VERSION_BRANCH VB
         ,SPMS_NODE_SET NS
          WHERE VB.BRANCH_TYPE IN (
           '1','3')
         AND VB.AGENCY_BRANCH = NS.BRANCH_ID)
;
support.huaweicloud.com/tg-dws/dws_mt_0137.html