Oracle sql中的distinct listagg

4 L*_*ver 3 sql oracle

请参阅附图.

在此输入图像描述

我有如下所示的数据,通过使用查询我能得到如下结果.但是,我希望实际结果在Col_2中是不同的.这意味着X1只出现一次,然后是X2和X3.我不希望在列中重复多次使用相同的值.

有可能实现吗?

Jor*_*pos 5

试试这种方式:

SELECT A.COL_1, 
       LISTAGG(A.COL_2, ',') 
          WITHIN GROUP(ORDER BY A.COL_2) AS COL_2, 
       SUM(A.SS) AS COL_3
  FROM (SELECT COL_1, COL_2, SUM(COL_3) SS
          FROM TEST
         GROUP BY COL_1, COL_2 ) A
 GROUP BY COL_1
Run Code Online (Sandbox Code Playgroud)

在小提琴上看到它:http://sqlfiddle.com/#!4/ie5f2/1