You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MySQL SELECT语句统计JSON字段内数组的元素个数?

MySQL统计JSON字段内数组元素个数的方案

直接使用MySQL原生JSON_LENGTH()函数即可,该函数可统计指定JSON路径下节点的长度,针对数组类型节点的返回值就是数组元素总数。

针对你给出的样例场景,要统计items数组的元素个数,执行如下查询即可返回预期结果2:

SELECT
  JSON_LENGTH(json, '$.items') AS item_count
FROM
  sample
WHERE
  id = 1;

其他用法说明

  • 如果你已经通过JSON_EXTRACT()提取到了目标数组内容,可以直接将提取结果传入JSON_LENGTH()做统计,写法如下,执行效果和上述语句完全一致:
SELECT
  JSON_LENGTH(JSON_EXTRACT(json, '$.items')) AS item_count
FROM
  sample
WHERE
  id = 1;
  • JSON_LENGTH()返回值规则:
    • 路径对应值为数组:返回数组元素总个数
    • 路径对应值为JSON对象:返回对象包含的键值对总数
    • 路径对应值为标量(字符串、数字、布尔值等):返回1
    • 指定路径无对应值:返回NULL
  • 适用版本:MySQL 5.7及以上支持原生JSON类型的版本均可直接使用,无需额外安装扩展。

内容的提问来源于stack exchange,提问作者saburouta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 03:33:33