postgresql
怎么将 A
表 group by txt
列后,查询后的 txt
返回一个 json
字符串?
A:
id | txt |
---|---|
1 | abs |
2 | a |
3 | b |
4 | a |
怎么写 sql 可以返回一个 [abs,a,b,a]
的字符串数组
postgresql
怎么将 A
表 group by txt
列后,查询后的 txt
返回一个 json
字符串?
A:
id | txt |
---|---|
1 | abs |
2 | a |
3 | b |
4 | a |
怎么写 sql 可以返回一个 [abs,a,b,a]
的字符串数组
在 PostgreSQL 中,您可以使用 json_agg
函数来将分组后的结果转换为 JSON 字符串数组。以下是一个示例查询,展示了如何将表 A 的 txt 列按照 group by 进行分组,并将结果返回为一个 json 字符串数组:
SELECT json_agg(txt) AS txt_array
FROM A
GROUP BY txt;
这个查询将返回以下结果:
txt_array
-----------------
["abs","a","b","a"]
解释:
json_agg(txt)
:该函数将把每个 txt 列的值聚合成一个 JSON 数组。AS txt_array
:这是给返回的列命名的别名,您可以根据需要更改。FROM A
:指定要查询的表为 A。GROUP BY txt
:根据 txt 列的值进行分组。这样,每个分组中的 txt 值将聚合成一个数组,然后所有的分组结果又被聚合成一个总数组。