我需要将jsonb_array_elements()
返回的字符串连接为结果中的单个列。
我正在使用PostgreSQL v.12.1
我的SQL:
SELECT
name as name,
jsonb_array_elements(payload -> 'pr' -> 'act') -> 'tags' -> 'Content' ->> 0 AS ws
FROM
data
当前产生此结果:
name ws
A 1
A 2
A 3
B 4
我想得到这个结果:
name ws
A 1, 2, 3
B 4
答案 0 :(得分:0)
一种方法是用外部查询包装查询:
select name, string_agg(ws, ', ') from (<your query here>) foo group by name
另一种方法是将函数调用从选择列表移至从列表(作为横向联接,但LATERAL在函数调用中是隐式的),这应使其可用于聚合。您没有提供带有示例数据的CREATE TABLE或INSERT语句,并且我不想发布无法测试的内容,因此未提供此类示例。