小编Boe*_*ger的帖子

从 MySQL JSON 数组中获取不同的值

我得到了一个 MySQL 数据表,其中包含一个包含值列表的 JSON 列:

约束表

 ID | CONSTRAINT_TYPE | CONSTRAINT_VALUES
----+-----------------+--------------------------------
 '2'| 'testtype'      |'[801, 751, 603, 753, 803]'
 ...| ...             | ...
Run Code Online (Sandbox Code Playgroud)

我想要的是一个不同的、逗号分隔的 JSON 值列表。我用 group_concat 尝试过,但它适用于数组,而不是单个值。

SELECT group_concat(distinct constraint_values->>'$') 
FROM constraint_table c 
WHERE c.constraint_type = "testtype";
Run Code Online (Sandbox Code Playgroud)

实际结果:

[801, 751, 603, 753, 803],[801, 751],[578, 66, 15],...
Run Code Online (Sandbox Code Playgroud)

我的目标结果:

801, 751, 603, 753, 803, 578, 66, 15 ...
Run Code Online (Sandbox Code Playgroud)

没有重复。因为行也不错。

想法,有人吗?

mysql arrays json concat distinct

5
推荐指数
1
解决办法
2042
查看次数

标签 统计

arrays ×1

concat ×1

distinct ×1

json ×1

mysql ×1