分组时如何将assemble个字符串放入数组?

How to assemble strings into an array when grouping?

我需要实现这样的查询:

SELECT id, array(object) FROM Table GROUP BY id

我知道它不起作用

我需要转换

 id | object
id1 | aaa
id1 | bbb
id2 | ccc
id2 | ddd

id1 | [aaa, bbb]
id2 | [ccc, ddd]

我该怎么做?

您可以使用 LISTAGG 函数

SELECT id,LISTAGG(object,',') WITHIN GROUP (ORDER BY id) from Table

文档是:

https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030

如果你使用的是 ClickHouse,就这样做

SELECT id, groupArray(object) FROM Table GROUP BY id