如何在 MySQL 5.7 中统计 JSON 数组中特定元素的使用次数?

如何在 MySQL 5.7 中统计 JSON 数组中特定元素的使用次数?

如何在 mysql 5.7 中统计 json 数组中特定元素的使用次数

mysql 5.7 中没有专门用于统计 json 数组中特定元素数量的函数。然而,我们可以使用 json_search() 函数和分组查询来实现类似的功能。

解决方案:

  1. 使用 json_search() 函数搜索目标元素:

    json_search(tags, 'one', "3467562849402896")

    这将返回一个包含目标元素的 json 值的列表(如果找到的话)。

  2. 对 json 值进行分组并计数:

    select     count(json_search(tags, 'one', <目标元素>)) as count from     <table> group by     json_search(tags, 'one', <目标元素>)

    这将对找到的目标元素进行分组并计算每个元素出现的次数。

示例:

根据给定的 json 数据和目标元素,查询将会产生以下结果:

+-----------------------+------+ | count                  | total | +-----------------------+------+ | "3467562849402896"    | 3     | | "3467562861985809"    | 2     | | "3465044211793921"    | 1     | +-----------------------+------+

这种方法允许我们灵活地统计 json 数组中任何指定元素的计数,而无需使用外部代码或用户定义函数。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享