gpt4 book ai didi

mysql - 如何获取mysql结果数组sum的数量

转载 作者:行者123 更新时间:2023-11-29 09:27:05 24 4
gpt4 key购买 nike

我的 attrs 字段中有 json 数据,如下所示。我想要 target_pencairan 的金额,但结果是 0,有人可以帮忙吗?

"attrs": {    
"tgl_mulai": "null",
"tgl_selesai": null,
"target_pencairan": [1000, 2000]
}`

select id,parent_id,level, SUM(attrs->>'$.target_pencairan') as target_pencairan
from project group by id

最佳答案

您可以使用json_extract函数。

select id,
sum(json_extract(t1.attrs, concat('$.attrs.target_pencairan[', t2.col1, ']')))
from project t1
cross join (
select 0 as col1 union
select 1 union
select 2 union
select 3 union
select 4 union
select 5
) t2
group by id;

对于mysql v8.0,您可以使用json_table函数。

select id, parent_id, sum(res)
from project t1
cross join
json_table(t1.attrs,
"$.attrs.target_pencairan[*]"
columns(
`res` int path "$"
)
) t2
group by id, parent_id;

参见dbfiddle .

关于mysql - 如何获取mysql结果数组sum的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59402058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com