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

如何用MySQL的JSON函数或其他方式对JSON数组元素逐个加1?

MySQL JSON数组元素批量加1的实现方法

可以借助MySQL 8.0及以上版本提供的JSON_TABLE与JSON_ARRAYAGG函数组合实现该需求,具体操作如下:

SELECT 
    t.id,
    JSON_ARRAYAGG(ja.age + 1) AS max_ages
FROM t1 t
JOIN JSON_TABLE(
    t.max_ages,
    '$[*]' COLUMNS (age INT PATH '$')
) ja
GROUP BY t.id;

逻辑说明:

  • JSON_TABLE函数将max_ages列的JSON数组拆分为临时结果集,每个数组元素对应一行的age字段
  • 对拆分后的每个age值执行+1运算
  • 通过JSON_ARRAYAGG函数按id分组,将处理后的数值重新聚合为JSON数组,得到预期输出

如果使用的是MySQL 5.x版本(不支持JSON_TABLE),可以通过自定义函数或递归CTE实现,但步骤相对繁琐,建议升级到MySQL 8.0及以上版本使用上述更简洁的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:47:17