分组时如何将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
我需要实现这样的查询:
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