我在oracle db中有以下表
id group
100 1
101 2
102 2
103 1
104 1
我需要将ID作为逗号分隔的列表按组分组,如下所示。
group ids
1 100,103,104
2 101,102
答案 0 :(得分:1)
Oracle 11g引入了listagg
函数:
SELECT "group", LISTAGG(id, ',') WITHIN GROUP (ORDER BY id) AS ids
FROM my_table
GROUP BY "group"
注意:group
是SQL中的保留字,因此引号将其保护为列名。如果您的真实表具有不同的名称,则不需要它们。