TIDB可以创建去重列表,并根据列表中是否包含某值来获取数据么

【 TiDB 使用环境】生产环境 or 测试环境 or POC
【 TiDB 版本】v5.4.0
【遇到的问题】
如题,我用JSON_ARRAY函数创建了一个json列表,如下所示:
image
请教下,在创建过程中,我是否可以对创建后的列表进行去重呢(例子里的列表存在着重复的元素)。
另外,如果我想查询列表里是否包含我想要的元素,比如我想查询所有列表里带有4的数据,这种操作tidb可以做到么?如果可以的话,求教下语法怎么写。
不胜感激!

【附件】

请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。

1 个赞

查询列表中是否包含指定元素的方法我找到啦:
SELECT JSON_CONTAINS(array, ‘3’, ‘$’);

SELECT JSON_CONTAINS(JSON_ARRAY(2,4,7,4,8) ,‘4’, ‘$’);

在创建过程中,我是否可以对创建后的列表进行去重呢(例子里的列表存在着重复的元素)

我没有发现如何去重

去重的思路是 行转列,再distinct。

哦哦,谢谢老哥~非常感谢~

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。