MySQL JSON聚合的返回結(jié)果格式是怎樣的

小樊
81
2024-10-02 09:48:10
欄目: 云計(jì)算

MySQL的JSON聚合函數(shù)JSON_AGG()用于將多個(gè)值聚合成一個(gè)JSON數(shù)組。其基本語(yǔ)法如下:

JSON_AGG(value [, value] ...)

其中value是要聚合的值,可以是JSON對(duì)象、JSON數(shù)組或其他有效的JSON值。JSON_AGG()函數(shù)將這些值放入一個(gè)JSON數(shù)組中并返回結(jié)果。

以下是一個(gè)簡(jiǎn)單的示例,說(shuō)明如何使用JSON_AGG()函數(shù):

CREATE TABLE example (
  id INT PRIMARY KEY,
  name VARCHAR(255),
  age INT
);

INSERT INTO example (id, name, age) VALUES
  (1, 'Alice', 30),
  (2, 'Bob', 25),
  (3, 'Charlie', 35);

SELECT JSON_AGG(JSON_OBJECT('id', id, 'name', name, 'age', age)) AS result
FROM example;

此查詢(xún)將返回一個(gè)包含所有示例行ID、名稱(chēng)和年齡的JSON數(shù)組:

[
  {"id": 1, "name": "Alice", "age": 30},
  {"id": 2, "name": "Bob", "age": 25},
  {"id": 3, "name": "Charlie", "age": 35}
]

如果需要將多個(gè)JSON對(duì)象聚合成一個(gè)JSON數(shù)組,可以使用JSON_ARRAYAGG()函數(shù)。語(yǔ)法如下:

JSON_ARRAYAGG(value [, value] ...)

以下是一個(gè)使用JSON_ARRAYAGG()函數(shù)的示例:

SELECT JSON_ARRAYAGG(JSON_OBJECT('id', id, 'name', name, 'age', age)) AS result
FROM example;

此查詢(xún)將返回與前面示例相同的結(jié)果,但使用JSON_ARRAYAGG()函數(shù):

[
  {"id": 1, "name": "Alice", "age": 30},
  {"id": 2, "name": "Bob", "age": 25},
  {"id": 3, "name": "Charlie", "age": 35}
]

0