mysql json array group_concat

在 MySQL 中,你可以使用 GROUP_CONCAT() 函数来将多个值连接成一个字符串。如果你想将 JSON 数组中的元素连接成一个字符串,你可以使用 GROUP_CONCAT() 函数并将 JSON_ARRAY() 函数嵌套在其中。例如:

SELECT GROUP_CONCAT(JSON_ARRAY(col1, col2, col3)) FROM table;

这将返回一个包含所有行的 JSON 数组,每行的元素分别是 col1col2col3

例如,假设你有一张表,包含如下数据:

+------+-------+-------+
| col1 | col2  | col3  |
+------+-------+-------+
| 1    | foo   | bar   |
| 2    | hello | world |
+------+-------+-------+

你可以使用如下语句:

SELECT GROUP_CONCAT(JSON_ARRAY(col1, col2, col3)) FROM table;

这将返回以下字符串:

["[1,\"foo\",\"bar\"]","[2,\"hello\",\"world\"]"]

你也可以使用 GROUP_CONCAT() 函数来将多个 JSON 数组连接成一个大的 JSON 数组。例如:

SELECT JSON_ARRAY(GROUP_CONCAT(JSON_ARRAY(col1, col2, col3))) FROM table;

这将返回以下字符串:

[["[1,\"foo\",\"bar\"]","[2,\"hello\",\"world\"]"]]

希望这对你有帮助!

  • 4年前
  •