如何在 mysql 5.7 中统计 json 数组中特定元素的使用次数
mysql 5.7 中没有专门用于统计 json 数组中特定元素数量的函数。然而,我们可以使用 json_search() 函数和分组查询来实现类似的功能。
解决方案:
-
使用 json_search() 函数搜索目标元素:
json_search(tags, 'one', "3467562849402896")
这将返回一个包含目标元素的 json 值的列表(如果找到的话)。
-
对 json 值进行分组并计数:
select
count(json_search(tags, 'one', <目标元素>)) as count
from
group by
json_search(tags, 'one', <目标元素>)这将对找到的目标元素进行分组并计算
每个元素出现的次数。
示例:
根据给定的 json 数据和目标元素,查询将会产生以下结果:
+-----------------------+------+
| count | total |
+-----------------------+------+
| "3467562849402896" | 3 |
| "3467562861985809" | 2 |
| "3465044211793921" | 1 |
+-----------------------+------+
这种方法允许我们灵活地统计 json 数组中任何指定元素的计数,而无需使用外部代码或用户定义函数。
友情链接: