如何在mysql中统计json数组中某些值的计数?-灵析社区

你没饰八

如何在mysql中统计json数组中某些值的计数? json数据如下:类型是json ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/0f2d13b7460eed1023bbaf8f9fe79c3c.png) 我想统计比如一个集合中:{"3467562849402896", "3467562861985809","3465044211793921"}的**每个元素** 被使用了几次?上述集合中的元素个数是不固定的,是输入的参数 方案: 我知道mysql8的JSON_TABLE是可以的,但是我的版本是**5.7** 我想到一个方案是这个:先用下面的sql找出来谁用了这个id,然后在代码中处理统计次数 where JSON_CONTAINS(tags ,'"3467562849402896"' , '$') OR JSON_CONTAINS(tags, '"3467562861985809"', '$') OR JSON_CONTAINS(tags, '"3465044211793921"', '$'); **还没有更好的方案呢?**

阅读量:168

点赞量:0

问AI
JayCoder
* 因为要"每个元素" ,OR 的只能查到 一共 有多少行 有交集SELECT count( JSON_SEARCH( tags, 'one', "3467562849402896" ) ), count( JSON_SEARCH( tags, 'one', "3467562861985809" ) ), count( JSON_SEARCH( tags, 'one', "3465044211793921" ) ) FROM XXXXXXXXXX