请参阅附件中的图片。
我有如下所示的数据,通过使用查询,我可以得到如下结果。但是,我希望实际结果在Col_2中是不同的。这意味着X1只出现一次,然后是X2和X3。我不希望在列中重复多次使用相同的值。
有可能实现吗?
答案 0 :(得分: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
在这里查看小提琴:http://sqlfiddle.com/#!4/ee5f2/1