JSON_ARRAY_AGG
功能概述
将一组值聚合为 JSON 数组,返回 STRING 类型。支持 DISTINCT 去重和 ORDER BY 排序。
语法
JSON_ARRAY_AGG([DISTINCT] <expr> [WITHIN GROUP (ORDER BY <expr> [ASC|DESC])])
参数说明
使用示例
-- 基本用法
SELECT json_array_agg(v)
FROM (VALUES (1),(2),(3)) t(v);
-- [1,2,3]
-- 指定排序
SELECT json_array_agg(v WITHIN GROUP (ORDER BY v DESC))
FROM (VALUES (3),(1),(2)) t(v);
-- [3,2,1]
-- DISTINCT 去重(结果顺序不保证)
SELECT json_array_agg(DISTINCT v)
FROM (VALUES (1),(2),(1),(3)) t(v);
-- [2,1,3]
-- GROUP BY 分组
SELECT k, json_array_agg(v)
FROM (VALUES ('x',1),('x',2),('y',3)) t(k,v)
GROUP BY k;
-- x | [1,2]
-- y | [3]
相关文档