如何从MySQL中选择不同的JSON数组,而不考虑顺序?

How to select distinct JSON array from MySQL regardless for the order?

提问人:zsm5833 提问时间:10/8/2023 更新时间:10/8/2023 访问量:43

问:

我有一个JSON列,它只存储这样的数组

| ids       |
| --------- |
| [1,2,3]   |
| [1,2]     |
| [1,3]     |
| [1,2,3]   |
| [1]       |
| [2]       |
| [2,1,3]   |
| [2,3,1]   |
| [2,3]     |
| [3,1]     |

基本上,我希望输出看起来像这样

| ids       |
| --------- |
| [1,2,3]   |
| [1,2]     |
| [1,3]     |
| [1]       |
| [2]       |
| [2,3]     |

在这种情况下,顺序并不重要,重要的是大小,但数组和其中元素的大小很重要。例如,和 是三个不同的数组,但 和 是相同的,因此无论选择哪一个。[1][1,2][1,2,3][1,2][2,1]

我目前正在使用 MySQL 8.0.33

我一直在看,但我不知道从哪里开始。JSON_TABLE()

MySQL 的JSON

评论

0赞 nice_dev 10/8/2023
为什么首先要像这样存储未规范化的数据?您必须对每一行的状态进行排序,然后对它们进行不同的排序。对这个 json 数组进行排序在这里似乎没有任何简单的功能。它可能涉及使用过程、json_table() 等
0赞 Akina 10/8/2023
JSON_TABLE, GROUP_CONCAT(排序依据), DITCINT.

答: 暂无答案